"type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetSecurityGroupTargetOptions{}\noptions.SetSecurityGroupID(id)\noptions.SetID(targetID)\ntarget, response, err :=\n vpcService.GetSecurityGroupTarget(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSecurityGroupTargetOptions getSecurityGroupTargetOptions = new GetSecurityGroupTargetOptions.Builder()\n .securityGroupId(securityGroupId)\n .id(id)\n .build();\n\nResponse response = service.getSecurityGroupTarget(getSecurityGroupTargetOptions).execute();\nSecurityGroupTargetReference target = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSecurityGroupTarget({\n securityGroupId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_security_group_target(\n security_group_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/securityGroupId" }, { "$ref": "#/components/parameters/securityGroupTargetIdUnqualified" } ], "put": { "description": "This request adds a resource to an existing security group. The specified target\nidentifier can be:\n\n- A bare metal server network interface identifier\n- A virtual network interface identifier\n- A VPN server identifier\n- A load balancer identifier\n- An endpoint gateway identifier\n- An instance network interface identifier\n\nWhen a target is added to a security group, the security group rules are applied to the\ntarget. A request body is not required, and if provided, is ignored.", "operationId": "create_security_group_target_binding", "responses": { "200": { "content": { "application/json": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "resource_type": "network_interface" }, "schema": { "$ref": "#/components/schemas/SecurityGroupTargetReference" } } }, "description": "The specified target is already in the security group." }, "201": { "content": { "application/json": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "resource_type": "network_interface" }, "schema": { "$ref": "#/components/schemas/SecurityGroupTargetReference" } } }, "description": "The target was successfully added to the security group" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified target is not in the same VPC, or has reached its security group limit." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified target or security group could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified target cannot be updated in its current state.\n\nApplies to application load balancer targets that do not have an `active`\nprovisioning status." } }, "summary": "Add a target to a security group", "tags": [ "Security groups" ], "x-ibm-events": { "events": [ { "description": "Generated when `target` specifies an endpoint gateway", "name": "is.endpoint-gateway.endpoint-gateway.update" }, { "description": "Generated when `target` specifies an instance network interface", "name": "is.instance.network-interface.update" }, { "description": "Generated when `target` specifies a bare metal server network interface", "name": "is.bare-metal-server.network-interface.update" }, { "description": "Generated when `target` specifies a load balancer", "name": "is.load-balancer.load-balancer.update" }, { "description": "Generated when `target` specifies a VPN server", "name": "is.vpn-server.vpn-server.update" }, { "name": "is.security-group.security-group.attach" }, { "description": "Generated when `target` specifies a virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.attach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.security-group.security-group.operate" }, { "description": "Required when `target` specifies an instance network interface", "name": "is.instance.instance.operate" }, { "description": "Required when `target` specifies a bare metal server network interface", "name": "is.bare-metal-server.bare-metal-server.operate" }, { "description": "Required when `target` specifies a virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.operate" }, { "description": "Required when `target` specifies a load balancer", "name": "is.load-balancer.load-balancer.manage" }, { "description": "Required when `target` specifies an endpoint gateway", "name": "is.endpoint-gateway.endpoint-gateway.operate" }, { "description": "Required when `target` specifies a VPN server", "name": "is.vpn-server.vpn-server.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/security_groups/$security_group_id/targets/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.AddSecurityGroupTargetOptions{}\noptions.SetSecurityGroupID(id)\noptions.SetID(targetID)\ntarget, response, err :=\n vpcService.AddSecurityGroupTarget(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "AddSecurityGroupTargetOptions addSecurityGroupTargetOptions = new AddSecurityGroupTargetOptions.Builder()\n .securityGroupId(securityGroupId)\n .id(id)\n .build();\n\nResponse response = service.addSecurityGroupTarget(addSecurityGroupTargetOptions).execute();\nSecurityGroupTargetReference target = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.addSecurityGroupTarget({\n securityGroupId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.add_security_group_target(\n security_group_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/share/profiles": { "get": { "description": "This request lists [file share\nprofiles](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) available in the\nregion. A file share profile specifies the performance characteristics and pricing model for\na file share.", "operationId": "list_share_profiles", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/sort" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles?limit=50" }, "limit": 50, "profiles": [ { "capacity": { "max": 32000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "iops": { "max": 96000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "dp2", "resource_type": "share_profile" } ], "total_count": 1 }, "schema": { "$ref": "#/components/schemas/ShareProfileCollection" } } }, "description": "The share profiles were retrieved successfully" } }, "summary": "List file share profiles", "tags": [ "Shares" ], "x-ibm-events": { "events": [] }, "x-ibm-permissions": { "actions": [] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/share/profiles?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listShareProfilesOptions := &vpcv1.ListShareProfilesOptions{}\nshareProfileCollection, response, err := vpcService.ListShareProfiles(listShareProfilesOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListShareProfilesOptions listShareProfilesOptions = new ListShareProfilesOptions.Builder()\n .build();\n\nResponse response = vpcService.listShareProfiles(listShareProfilesOptions).execute();\nShareProfileCollection shareProfileCollectionResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listShareProfiles();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_share_profiles()\nshare_profile_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ] }, "/share/profiles/{name}": { "get": { "description": "This request retrieves a single file share profile specified by the name in the URL.", "operationId": "get_share_profile", "parameters": [ { "description": "The file share profile name", "in": "path", "name": "name", "required": true, "schema": { "example": "dp2", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "capacity": { "max": 32000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "iops": { "max": 96000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "dp2", "resource_type": "share_profile" }, "schema": { "$ref": "#/components/schemas/ShareProfile" } } }, "description": "The share profile was retrieved successfully" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share profile with the specified name could not be found." } }, "summary": "Retrieve a file share profile", "tags": [ "Shares" ], "x-ibm-events": { "events": [] }, "x-ibm-permissions": { "actions": [] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/share/profiles/$name?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getShareProfileOptions := &vpcv1.GetShareProfileOptions{\n Name: &[]string{\"dp2\"}[0],\n}\n\nshareProfile, response, err := vpcService.GetShareProfile(getShareProfileOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetShareProfileOptions getShareProfileOptions = new GetShareProfileOptions.Builder()\n .name(\"dp2\")\n .build();\n\nResponse response = vpcService.getShareProfile(getShareProfileOptions).execute();\nShareProfile shareProfile = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n name: 'dp2',\n};\nconst response = await vpcService.getShareProfile(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_share_profile(\n name='dp2',\n)\nshare_profile = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ] }, "/shares": { "get": { "description": "This request lists file shares in the region.", "operationId": "list_shares", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceGroup" }, { "$ref": "#/components/parameters/name" }, { "$ref": "#/components/parameters/sort" }, { "$ref": "#/components/parameters/shareReplicationRole" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares?limit=50" }, "limit": 50, "shares": [ { "access_control_mode": "security_group", "accessor_binding_role": "origin", "accessor_bindings": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" } ], "allowed_transit_encryption_modes": [ "none", "user_managed" ], "created_at": "2025-01-06T22:58:49.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "encryption": "provider_managed", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "initial_owner": { "gid": 50, "uid": 50 }, "iops": 14400, "lifecycle_reasons": [], "lifecycle_state": "stable", "mount_targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" } ], "name": "my-share", "profile": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "replication_role": "none", "replication_status": "none", "replication_status_reasons": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share", "size": 4800, "snapshot_count": 10, "snapshot_size": 10, "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 1 }, "schema": { "$ref": "#/components/schemas/ShareCollection" } } }, "description": "The file shares were retrieved successfully." } }, "summary": "List file shares", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.list" }, { "name": "is.share.share.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listSharesOptions := &vpcv1.ListSharesOptions{}\nshareCollection, response, err := vpcService.ListShares(listSharesOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListSharesOptions listSharesOptions = new ListSharesOptions.Builder()\n .build();\nResponse response = vpcService.listShares(listSharesOptions).execute();\nShareCollection shareCollectionResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listShares();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_shares()\nshare_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request provisions new file shares from a share prototype object. The new file shares\ncan be a standalone share, a replica share, or both a source and replica share.\n\nThe prototype object is structured in the same way as a retrieved share, and contains the\ninformation necessary to provision the new file shares.", "operationId": "create_share", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharePrototype" } } }, "description": "The file share prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "accessor_binding_role": "origin", "accessor_bindings": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" } ], "allowed_transit_encryption_modes": [ "none", "user_managed" ], "created_at": "2025-01-06T22:58:49.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "encryption": "provider_managed", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "initial_owner": { "gid": 50, "uid": 50 }, "iops": 14400, "lifecycle_reasons": [], "lifecycle_state": "pending", "mount_targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" } ], "name": "my-share", "profile": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "replication_role": "none", "replication_status": "none", "replication_status_reasons": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share", "size": 4800, "snapshot_count": 10, "snapshot_size": 10, "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Share" } } }, "description": "The file share was created successfully.", "headers": { "ETag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid file share prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The share prototype object conflicts with another share in the region,\nor the share prototype object specified one or more of:\n\n- share mount targets in the same VPC\n- an encryption key that cannot be used in its current state\n- a virtual network interface with `allow_ip_spoofing` set to `true`\n- a virtual network interface with `enable_infrastructure_nat` set to `false`\n- a virtual network interface with `protocol_state_filtering_mode` set to `disabled`\n- a virtual network interface with `ips` other than the `primary_ip` address\n- a virtual network interface with a floating IP bound to it\n- a virtual network interface that is the target of a flow log collector" } }, "summary": "Create a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "description": "Generated for each file share created.", "name": "is.share.share.create" }, { "description": "Generated for the accessor binding created for the origin share (in the origin\nshare's account)", "name": "is.share.accessor-binding.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.create" }, { "description": "Required when `origin_share` or `source_share` is specified.", "name": "is.share.share.operate" }, { "name": "is.vpc.vpc.operate" }, { "description": "Required for share mount targets that specify a new virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.create" }, { "description": "Required for share mount targets that specify a new virtual network interface and a\nnew reserved IP on a subnet", "name": "is.subnet.subnet.update" }, { "description": "Required for share mount targets that specify a new virtual network interface with\n`protocol_state_filtering_mode` not set to `auto`", "name": "is.virtual-network-interface.virtual-network-interface.manage-protocol-state-filtering-mode" }, { "description": "Required when `origin_share` is specified and is in the calling account.", "name": "is.share.accessor-binding.create" }, { "description": "Required when `origin_share` is specified and is in a remote account.", "name": "is.share.share.allow-remote-account-access" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/shares?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-share\",\n \"profile\": {\n \"name\": \"tier-3iops\"\n },\n \"zone\": {\n \"name\": \"us-south-1\"\n },\n \"size\": 4800,\n \"mount_targets\": [\n {\n \"name\": \"my-target\",\n \"vpc\": {\n \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n }\n }\n ]\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "shareProfileIdentityModel := &vpcv1.ShareProfileIdentityByName{\n Name: &[]string{\"dp2\"}[0],\n}\nzoneIdentityModel := &vpcv1.ZoneIdentityByName{\n Name: &zoneName,\n}\nsharePrototypeModel := &vpcv1.SharePrototypeShareBySize{\n Iops: &[]int64{100}[0],\n Name: &[]string{\"my-share\"}[0],\n Profile: shareProfileIdentityModel,\n UserTags: []string{\"my-share-tag\"},\n Zone: zoneIdentityModel,\n AccessControlMode: &[]string{\"security_group\"}[0],\n Size: &[]int64{200}[0],\n}\ncreateShareOptions := &vpcv1.CreateShareOptions{\n SharePrototype: sharePrototypeModel,\n}\nshare, response, err := vpcService.CreateShare(createShareOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ShareProfileIdentityByName shareProfileIdentityModel = new ShareProfileIdentityByName.Builder()\n .name(\"dp2\")\n .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n .name(zoneName)\n .build();\nSharePrototypeShareBySize sharePrototypeModel = new SharePrototypeShareBySize.Builder()\n.iops(Long.valueOf(\"100\"))\n.name(\"my-share\")\n.profile(shareProfileIdentityModel)\n.userTags(java.util.Arrays.asList(\"my-share-tag\"))\n.zone(zoneIdentityModel)\n.accessControlMode(\"security_group\")\n.size(Long.valueOf(\"200\"))\n .build();\nCreateShareOptions createShareOptions = new CreateShareOptions.Builder()\n .sharePrototype(sharePrototypeModel)\n .build();\nResponse response = vpcService.createShare(createShareOptions).execute();\nShare share = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const shareProfileIdentityModel = {\n name: 'dp2',\n};\nconst zoneIdentityModel = {\n name: zoneName,\n};\nconst sharePrototypeModel = {\n iops: 100,\n name: 'my-share',\n profile: shareProfileIdentityModel,\n user_tags: ['my-share-tag'],\n zone: zoneIdentityModel,\n access_control_mode: 'security_group',\n size: 200,\n};\nconst params = {\n sharePrototype: sharePrototypeModel,\n};\nconst response = await vpcService.createShare(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "share_profile_identity_model = {\n 'name': 'dp2',\n}\nzone_identity_model = {\n 'name': zoneName,\n}\nshare_prototype_model = {\n 'profile': share_profile_identity_model,\n 'zone': zone_identity_model,\n 'name': 'my-share',\n 'size': 200,\n 'access_control_mode': 'security_group',\n}\nresponse = vpc_service.create_share(\n share_prototype=share_prototype_model,\n)\nshare = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/shares/{id}": { "delete": { "description": "This request deletes a share. This operation cannot be reversed.\nA share cannot be deleted if it:\n- has share mount targets\n- has a `lifecycle_state` of `updating`\n- has a replication operation in progress\n\nIf the request is accepted, the share `lifecycle_state` will be set to `deleting`.\nOnce deletion processing completes, it will no longer be retrievable.", "operationId": "delete_share", "parameters": [ { "$ref": "#/components/parameters/ifMatchUnquoted" } ], "responses": { "202": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "accessor_binding_role": "origin", "accessor_bindings": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" } ], "allowed_transit_encryption_modes": [ "none", "user_managed" ], "created_at": "2025-01-06T22:58:49.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "encryption": "provider_managed", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "initial_owner": { "gid": 50, "uid": 50 }, "iops": 14400, "lifecycle_reasons": [], "lifecycle_state": "deleting", "mount_targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" } ], "name": "my-share", "profile": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "replication_role": "none", "replication_status": "none", "replication_status_reasons": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share", "size": 4800, "snapshot_count": 10, "snapshot_size": 10, "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Share" } } }, "description": "The file share deletion request was accepted.", "headers": { "ETag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The file share cannot be deleted in its current state." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the share" } }, "summary": "Delete a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.delete" }, { "description": "Generated for each snapshot on the share", "name": "is.share.snapshot.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/shares/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteShareOptions := &vpcv1.DeleteShareOptions{\n ID: &shareId,\n IfMatch: &shareETag,\n}\nshare, response, err := vpcService.DeleteShare(deleteShareOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteShareOptions deleteShareOptions = new DeleteShareOptions.Builder()\n .id(shareId)\n .ifMatch(shareETag)\n .build();\nResponse response = vpcService.deleteShare(deleteShareOptions).execute();\nShare share = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: shareId,\n ifMatch: shareETag,\n};\nconst response = await vpcService.deleteShare(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_share(\n id=shareId,\n if_match=shareETag\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single file share specified by the identifier in the URL.", "operationId": "get_share", "responses": { "200": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "accessor_binding_role": "origin", "accessor_bindings": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" } ], "allowed_transit_encryption_modes": [ "none", "user_managed" ], "created_at": "2025-01-06T22:58:49.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "encryption": "provider_managed", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "initial_owner": { "gid": 50, "uid": 50 }, "iops": 14400, "lifecycle_reasons": [], "lifecycle_state": "stable", "mount_targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" } ], "name": "my-share", "profile": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "replication_role": "none", "replication_status": "none", "replication_status_reasons": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share", "size": 4800, "snapshot_count": 10, "snapshot_size": 10, "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Share" } } }, "description": "The file share was retrieved successfully", "headers": { "ETag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share with the specified identifier could not be found." } }, "summary": "Retrieve a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getShareOptions := &vpcv1.GetShareOptions{\n ID: &shareId,\n}\nshare, response, err := vpcService.GetShare(getShareOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetShareOptions getShareOptions = new GetShareOptions.Builder()\n .id(shareId)\n .build();\nResponse response = vpcService.getShare(getShareOptions).execute();\nShare share = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: data.shareId,\n};\nconst response = await vpcService.getShare(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_share(\n id=shareId,\n)\nshare = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareIdUnqualified" } ], "patch": { "description": "This request updates a share with the information in a provided share patch. The share\npatch object is structured in the same way as a retrieved share and contains only the\ninformation to be updated.", "operationId": "update_share", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContextUnquoted" } ], "requestBody": { "content": { "application/merge-patch+json": { "example": { "size": 8000 }, "schema": { "$ref": "#/components/schemas/SharePatch" } } }, "description": "The file share patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "accessor_binding_role": "origin", "accessor_bindings": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" } ], "allowed_transit_encryption_modes": [ "none", "user_managed" ], "created_at": "2025-01-06T22:58:49.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "encryption": "provider_managed", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "initial_owner": { "gid": 50, "uid": 50 }, "iops": 14400, "lifecycle_reasons": [], "lifecycle_state": "stable", "mount_targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" } ], "name": "my-share", "profile": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "replication_role": "none", "replication_status": "none", "replication_status_reasons": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share", "size": 8000, "snapshot_count": 10, "snapshot_size": 10, "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Share" } } }, "description": "The file share was updated successfully.", "headers": { "ETag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid file share patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The file share patch conflicts with another file share in the region, or\nthe file share cannot update the specified properties in its current state." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the share" } }, "summary": "Update a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/shares/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-share-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "sharePatchModel := &vpcv1.SharePatch{\n Name: &[]string{\"my-share-updated\"}[0],\n}\nsharePatchModelAsPatch, asPatchErr := sharePatchModel.AsPatch()\nupdateShareOptions := &vpcv1.UpdateShareOptions{\n ID: &shareId,\n IfMatch: &shareETag,\n SharePatch: sharePatchModelAsPatch,\n}\nshare, response, err := vpcService.UpdateShare(updateShareOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "SharePatch sharePatchModel = new SharePatch.Builder()\n .name(\"my-share-updated\")\n .addUserTags(\"my-share-tag-updated\")\n .size(300)\n .iops(300)\n .build();\nMap sharePatchModelAsPatch = sharePatchModel.asPatch();\nUpdateShareOptions updateShareOptions = new UpdateShareOptions.Builder()\n .id(shareId)\n .sharePatch(sharePatchModelAsPatch)\n .ifMatch(shareETag)\n .build();\nResponse response = vpcService.updateShare(updateShareOptions).execute();\nShare share = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: shareId,\n ifMatch: shareETag,\n accessControlMode: 'security_group',\n iops: 200,\n name: 'my-share',\n size: 300,\n userTags: ['my-share-tag-updated'],\n};\nconst response = await vpcService.updateShare(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "share_patch_model = {\n 'name': 'my-share-updated'\n}\nresponse = vpc_service.update_share(\n id=shareId,\n share_patch=share_patch_model,\n if_match=shareETag\n)\nshare = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/shares/{id}/accessor_bindings": { "get": { "description": "This request lists accessor bindings for a share.\nEach accessor binding identifies a resource (possibly in another account) with access to\nthis file share including its snapshots.\n\nThe share accessor bindings will be sorted by their `created_at` property values, with\nnewest bindings first.", "operationId": "list_share_accessor_bindings", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "content": { "application/json": { "example": { "accessor_bindings": [ { "accessor": { "crn": "crn:v1:bluemix:public:pm-20:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:6500f05d-a5b5-4ecf-91ba-0d12b9dee607::", "resource_type": "watsonx_machine_learning" }, "created_at": "2025-01-06T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "lifecycle_state": "stable", "resource_type": "share_accessor_binding" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings?limit=50" }, "limit": 50, "total_count": 1 }, "schema": { "$ref": "#/components/schemas/ShareAccessorBindingCollection" } } }, "description": "The share accessor bindings were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified share accessor binding could not be found." } }, "summary": "List accessor bindings for a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.accessor-binding.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.accessor-binding.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$share_id/accessor_bindings?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listShareAccessorBindingsOptions := &vpcv1.ListShareAccessorBindingsOptions{\n ID: &shareId,\n}\nbindingCollection, response, err := vpcService.ListShareAccessorBindings(listShareAccessorBindingsOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListShareAccessorBindingsOptions listShareAccessorBindingsOptions = new ListShareAccessorBindingsOptions.Builder()\n .id(shareId)\n .build();\nShareAccessorBindingCollection result = vpcService.listShareAccessorBindings(listShareAccessorBindingsOptions).execute().getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: shareId,\n}\nconst response = await vpcService.listShareAccessorBindings(params)" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_share_accessor_bindings(shareId)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareIdUnqualified" } ] }, "/shares/{share_id}/accessor_bindings/{id}": { "delete": { "description": "This request deletes a share accessor binding. This operation cannot be reversed.", "operationId": "delete_share_accessor_binding", "responses": { "204": { "description": "The share accessor binding was deleted successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share accessor binding with the specified identifier could not be found." } }, "summary": "Delete a file share accessor binding", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "description": "Generated for the accessor binding deleted from the origin share (in the origin\nshare's account)", "name": "is.share.accessor-binding.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.accessor-binding.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/shares/$share_id/accessor_bindings/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteShareAccessorBindingOptions := &vpcv1.DeleteShareAccessorBindingOptions{\n ShareID: &shareId,\n ID: &shareAccessorBindingId,\n}\nresponse, err := vpcService.DeleteShareAccessorBinding(deleteShareAccessorBindingOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteShareAccessorBindingOptions deleteShareAccessorBindingOptions = new DeleteShareAccessorBindingOptions.Builder()\n .shareId(shareId)\n .id(shareAccessorBindingId)\n .build();\n\nResponse response = vpcService.deleteShareAccessorBinding(deleteShareAccessorBindingOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareAccessorBindingId\n}\nconst response = await vpcService.deleteShareAccessorBinding(params)" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_share_accessor_binding(\n share_id=shareId,\n id=shareAccessorBindingId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single accessor binding specified by the identifier in the\nURL.", "operationId": "get_share_accessor_binding", "responses": { "200": { "content": { "application/json": { "example": { "accessor": { "crn": "crn:v1:bluemix:public:pm-20:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:6500f05d-a5b5-4ecf-91ba-0d12b9dee607::", "resource_type": "watsonx_machine_learning" }, "created_at": "2025-01-06T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "lifecycle_state": "stable", "resource_type": "share_accessor_binding" }, "schema": { "$ref": "#/components/schemas/ShareAccessorBinding" } } }, "description": "The share accessor binding was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share accessor binding for the specified share identifier could not be found." } }, "summary": "Retrieve a file share accessor binding", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.accessor-binding.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.accessor-binding.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$share_id/accessor_bindings/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getShareAccessorBindingOptions := &vpcv1.GetShareAccessorBindingOptions{\n ShareID: &shareId,\n ID: &shareAccessorBindingId,\n}\n\nshareAccessorBinding, response, err := vpcService.GetShareAccessorBinding(getShareAccessorBindingOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetShareAccessorBindingOptions getShareAccessorBindingOptions = new GetShareAccessorBindingOptions.Builder()\n .shareId(shareId)\n .id(shareAccessorBindingId)\n .build();\n\nResponse response = vpcService.getShareAccessorBinding(getShareAccessorBindingOptions).execute();\nShareAccessorBinding shareAccessorBinding = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareAccessorBindingId\n}\nconst response = await vpcService.getShareAccessorBinding(params)" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_share_accessor_binding(\n share_id=shareId,\n id=shareAccessorBindingId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareId" }, { "$ref": "#/components/parameters/shareAccessorBindingUnqualifiedId" } ] }, "/shares/{share_id}/failover": { "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareId" } ], "post": { "description": "This request triggers a failover to the replica file share specified by the identifier in\nthe URL. The failover cannot be started if a source share or the replica share\nhas a `lifecycle_state` of `updating`, or has a replication operation in progress.\n\nIf `fallback_policy` is specified as `split`, and the request is accepted but the failover\noperation cannot be performed, a split will be triggered.", "operationId": "failover_share", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShareFailoverOptions" } } }, "description": "Options to control the failover operation", "required": false }, "responses": { "202": { "description": "The file share failover request was accepted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A replica file share with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The file share cannot perform a failover in its current state." } }, "summary": "Failover to replica file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.failover" }, { "description": "Generated when `fallback_policy` is `split` and the failover request was accepted\nbut could not be performed.", "name": "is.share.share.split" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/shares/$share_id/failover?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "failoverShareOptions := &vpcv1.FailoverShareOptions{\n ShareID: &shareId,\n}\n\nresponse, err := vpcService.FailoverShare(failoverShareOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "FailoverShareOptions failoverShareOptions = new FailoverShareOptions.Builder()\n .shareId(shareId)\n .build();\n\nResponse response = vpcService.failoverShare(failoverShareOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n};\n\nawait vpcService.failoverShare(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.failover_share(\n share_id=shareId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/shares/{share_id}/mount_targets": { "get": { "description": "This request lists mount targets for a file share. A mount target is a network endpoint at\nwhich a file share may be mounted. The file share can be mounted by clients in the same\nVPC and zone after creating share mount targets.\n\nThe share mount targets will be sorted by their `created_at` property values, with newest\ntargets first.", "operationId": "list_share_mount_targets", "parameters": [ { "$ref": "#/components/parameters/name" }, { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets?limit=50" }, "limit": 50, "mount_targets": [ { "access_control_mode": "security_group", "created_at": "2025-01-06T01:59:46.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "lifecycle_state": "stable", "mount_path": "fsf-dal1099a-fz.adn.networklayer.com:/nxg_s_voll_mz0716_a4cc07a3_4425_4adf_aed6_0d7e142bee0c", "name": "my-share-mount-target", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "share_mount_target", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "transit_encryption": "none", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ], "total_count": 1 }, "schema": { "$ref": "#/components/schemas/ShareMountTargetCollection" } } }, "description": "The share mount targets were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share with the specified identifier could not be found." } }, "summary": "List mount targets for a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.mount-target.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$share_id/mount_targets?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listShareMountTargetsOptions := &vpcv1.ListShareMountTargetsOptions{\n ShareID: &shareId,\n}\n\nshareMountTargetCollection, response, err := vpcService.ListShareMountTargets(listShareMountTargetsOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListShareMountTargetsOptions listShareMountTargetsOptions = new ListShareMountTargetsOptions.Builder()\n .shareId(shareId)\n .build();\n\nResponse response = vpcService.listShareMountTargets(listShareMountTargetsOptions).execute();\nShareMountTargetCollection shareMountTargetCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n};\n\nconst response = await vpcService.listShareMountTargets(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_share_mount_targets(\n share_id=shareId,\n)\nshare_mount_target_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareId" } ], "post": { "description": "This request creates a new share mount target from a share mount target prototype object.\n\nThe prototype object is structured in the same way as a retrieved share mount target,\nand contains the information necessary to provision the new file share mount target.", "operationId": "create_share_mount_target", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShareMountTargetPrototype" } } }, "description": "The share mount target prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "created_at": "2025-01-06T01:59:46.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "lifecycle_state": "pending", "mount_path": "fsf-dal1099a-fz.adn.networklayer.com:/nxg_s_voll_mz0716_a4cc07a3_4425_4adf_aed6_0d7e142bee0c", "name": "my-share-mount-target", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "share_mount_target", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "transit_encryption": "none", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/ShareMountTarget" } } }, "description": "The share mount target was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid share mount target prototype object was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided share mount target prototype object conflicts with another share mount\ntarget for the share, or the provided share mount target prototype specified one or\nmore of:\n\n- properties that conflict with the `access_control_mode` of the share\n- the same VPC as an existing mount target for the share\n- a virtual network interface with `allow_ip_spoofing` set to `true`\n- a virtual network interface with `enable_infrastructure_nat` set to `false`\n- a virtual network interface with `protocol_state_filtering_mode` set to `disabled`\n- a virtual network interface with `ips` other than the `primary_ip` address\n- a virtual network interface with a floating IP bound to it\n- a virtual network interface that is the target of a flow log collector" } }, "summary": "Create a mount target for a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.update" }, { "name": "is.share.mount-target.create" }, { "name": "is.share.mount-target.attach" }, { "description": "Generated for the VPC when `access_control_mode` is `vpc`.", "name": "is.vpc.vpc.attach" }, { "description": "Generated when a new virtual network interface is created.", "name": "is.virtual-network-interface.virtual-network-interface.create" }, { "description": "Generated when a virtual network interface is attached to a share mount target.\nAlso generated for each reserved IP being attached to a new virtual network\ninterface.", "name": "is.virtual-network-interface.virtual-network-interface.attach" }, { "description": "Generated for each reserved IP created.", "name": "is.subnet.reserved-ip.create" }, { "description": "Generated for each reserved IP being attached to a new virtual network interface.", "name": "is.subnet.reserved-ip.attach" }, { "description": "Generated for each reserved IP created.", "name": "is.subnet.subnet.update" }, { "description": "Generated for each security group being attached to a new virtual network\ninterface.", "name": "is.security-group.security-group.attach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.update" }, { "name": "is.vpc.vpc.operate" }, { "description": "Required for share mount targets that specify a new virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.create" }, { "description": "Required for share mount targets that specify a new virtual network interface and a\nnew reserved IP on a subnet", "name": "is.subnet.subnet.update" }, { "description": "Required for share mount targets that specify a new virtual network interface with\n`protocol_state_filtering_mode` not set to `auto`", "name": "is.virtual-network-interface.virtual-network-interface.manage-protocol-state-filtering-mode" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/shares/$share_id/mount_targets?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-share-mount-target\",\n \"vpc\": {\n \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "virtualNetworkInterfacePrimaryIPPrototype := &vpcv1.VirtualNetworkInterfacePrimaryIPPrototype{\n Address: &[]string{\"10.0.1.3\"}[0],\n Name: &[]string{\"my-reserved-ip\"}[0],\n}\n\nsecurityGroupIdentityModel := &vpcv1.SecurityGroupIdentityByID{\n ID: &securityGroupId,\n}\n\nsubnetIdentityModel := &vpcv1.SubnetIdentityByID{\n ID: &subnetId,\n}\n\nshareMountTargetVirtualNetworkInterfacePrototype := &vpcv1.ShareMountTargetVirtualNetworkInterfacePrototype{\n Name: &[]string{\"my-virtual-network-interface\"}[0],\n PrimaryIP: virtualNetworkInterfacePrimaryIPPrototype,\n SecurityGroups: []vpcv1.SecurityGroupIdentityIntf{securityGroupIdentityModel},\n Subnet: subnetIdentityModel,\n}\n\nshareMountTargetPrototypeModel := &vpcv1.ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup{\n Name: &[]string{\"my-share-mount-target\"}[0],\n TransitEncryption: &[]string{\"user_managed\"}[0],\n VirtualNetworkInterface: shareMountTargetVirtualNetworkInterfacePrototype,\n}\n\ncreateShareMountTargetOptions := &vpcv1.CreateShareMountTargetOptions{\n ShareID: &shareId,\n ShareMountTargetPrototype: shareMountTargetPrototypeModel,\n}\n\nshareMountTarget, response, err := vpcService.CreateShareMountTarget(createShareMountTargetOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext virtualNetworkInterfacePrimaryIpPrototypeModel = new VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext.Builder()\n .address(\"10.0.1.3\")\n .name(\"my-reserved-ip\")\n .build();\n\nSecurityGroupIdentityById securityGroupIdentityModel = new SecurityGroupIdentityById.Builder()\n .id(securityGroupId)\n .build();\n\nSubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n .id(subnetId)\n .build();\n\nShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext shareMountTargetVirtualNetworkInterfacePrototypeModel = new ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext.Builder()\n .name(\"my-virtual-network-interface\")\n .primaryIp(virtualNetworkInterfacePrimaryIpPrototypeModel)\n .securityGroups(java.util.Arrays.asList(securityGroupIdentityModel))\n .subnet(subnetIdentityModel)\n .build();\n\nShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup shareMountTargetPrototypeModel = new ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup.Builder()\n .name(\"my-share-mount-target\")\n .transitEncryption(\"user_managed\")\n .virtualNetworkInterface(shareMountTargetVirtualNetworkInterfacePrototypeModel)\n .build();\n\nCreateShareMountTargetOptions createShareMountTargetOptions = new CreateShareMountTargetOptions.Builder()\n .shareId(shareId)\n .shareMountTargetPrototype(shareMountTargetPrototypeModel)\n .build();\n\nResponse response = vpcService.createShareMountTarget(createShareMountTargetOptions).execute();\nShareMountTarget shareMountTargetResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const virtualNetworkInterfacePrimaryIpPrototypeModel = {\n address: '10.0.1.3',\n name: 'my-reserved-ip',\n};\n\nconst securityGroupIdentityModel = {\n id: securityGroupId,\n};\n\nconst subnetIdentityModel = {\n id: subnetId,\n};\n\nconst shareMountTargetVirtualNetworkInterfacePrototypeModel = {\n name: 'my-virtual-network-interface',\n primary_ip: virtualNetworkInterfacePrimaryIpPrototypeModel,\n security_groups: [securityGroupIdentityModel],\n subnet: subnetIdentityModel,\n};\n\nconst shareMountTargetPrototypeModel = {\n name: 'my-share-mount-target',\n transit_encryption: 'user_managed',\n virtual_network_interface: shareMountTargetVirtualNetworkInterfacePrototypeModel,\n};\n\nconst params = {\n shareId: shareId,\n shareMountTargetPrototype: shareMountTargetPrototypeModel,\n};\n\nconst response = await vpcService.createShareMountTarget(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "virtual_network_interface_primary_ip_reserved_ip_prototype_model = {\n 'address': '10.240.0.15',\n 'name': 'my-reserved-ip',\n}\n\nsecurity_group_identity_model = {\n 'id': security_group_id,\n}\n\nsubnet_identity_model = {\n 'id': subnetId,\n}\n\nvirtual_network_interface_prototype_share_mount_target_context_model = {\n 'name': 'my-virtual-network-interface',\n 'primary_ip': virtual_network_interface_primary_ip_reserved_ip_prototype_model,\n 'security_groups': [security_group_identity_model],\n 'subnet': subnet_identity_model,\n}\n\nshare_mount_target_prototype_model = {\n 'name': 'my-share-mount-target',\n 'transit_encryption': 'user_managed',\n 'virtual_network_interface': virtual_network_interface_prototype_share_mount_target_context_model\n}\n\nresponse = vpc_service.create_share_mount_target(\n share_id=shareId,\n share_mount_target_prototype=share_mount_target_prototype_model,\n)\nshare_mount_target = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/shares/{share_id}/mount_targets/{id}": { "delete": { "description": "This request deletes a share mount target. This operation cannot be reversed.\n\nIf the request is accepted, the share mount target `lifecycle_state` will be set to\n`deleting`. Once deletion processing completes, it will no longer be retrievable.", "operationId": "delete_share_mount_target", "responses": { "202": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "created_at": "2025-01-06T01:59:46.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "lifecycle_state": "deleting", "mount_path": "fsf-dal1099a-fz.adn.networklayer.com:/nxg_s_voll_mz0716_a4cc07a3_4425_4adf_aed6_0d7e142bee0c", "name": "my-share-mount-target", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "share_mount_target", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "transit_encryption": "none", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/ShareMountTarget" } } }, "description": "The share mount target deletion request was accepted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share mount target with the specified identifier could not be found for the file\nshare with the specified identifier." } }, "summary": "Delete a file share mount target", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.update" }, { "name": "is.share.mount-target.delete" }, { "name": "is.share.mount-target.detach" }, { "description": "Generated for the VPC when `access_control_mode` is `vpc`", "name": "is.vpc.vpc.detach" }, { "description": "Generated when the virtual network interface had `auto_delete` set to `true`", "name": "is.virtual-network-interface.virtual-network-interface.delete" }, { "description": "Generated for the virtual network interface that was attached to the share\nmount target. Also generated for each reserved IP that was attached to a\nvirtual network interface that had `auto_delete` set to `true`", "name": "is.virtual-network-interface.virtual-network-interface.detach" }, { "description": "Generated for each reserved IP that was attached to a virtual network interface\nthat had `auto_delete` set to `true`", "name": "is.subnet.reserved-ip.detach" }, { "description": "Generated for each reserved IP that had `auto_delete` set to `true` that was\nattached to a virtual network interface that had `auto_delete` set to `true`", "name": "is.subnet.reserved-ip.delete" }, { "description": "Generated for each reserved IP that had `auto_delete` set to `true` that was\nattached to a virtual network interface that had `auto_delete` set to `true`", "name": "is.subnet.subnet.update" }, { "description": "Generated for each security group that was attached to a virtual network interface\nthat had `auto_delete` set to `true`", "name": "is.security-group.security-group.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.update" }, { "name": "is.vpc.vpc.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/shares/$share_id/mount_targets/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteShareMountTargetOptions := &vpcv1.DeleteShareMountTargetOptions{\n ShareID: &shareId,\n ID: &shareMountTargetId,\n}\n\nshareMountTarget, response, err := vpcService.DeleteShareMountTarget(deleteShareMountTargetOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteShareMountTargetOptions deleteShareMountTargetOptions = new DeleteShareMountTargetOptions.Builder()\n .shareId(shareId)\n .id(shareMountTargetId)\n .build();\n\nResponse response = vpcService.deleteShareMountTarget(deleteShareMountTargetOptions).execute();\nShareMountTarget shareMountTarget = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareMountTargetId,\n};\n\nconst response = await vpcService.deleteShareMountTarget(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_share_mount_target(\n share_id=shareId,\n id=shareMountTargetId,\n)\nshare_mount_target = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single share mount target specified by the identifier in the URL.", "operationId": "get_share_mount_target", "responses": { "200": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "created_at": "2025-01-06T01:59:46.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "lifecycle_state": "stable", "mount_path": "fsf-dal1099a-fz.adn.networklayer.com:/nxg_s_voll_mz0716_a4cc07a3_4425_4adf_aed6_0d7e142bee0c", "name": "my-share-mount-target", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "share_mount_target", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "transit_encryption": "none", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/ShareMountTarget" } } }, "description": "The share mount target was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share mount target with the specified identifier could not be found for the file\nshare with the specified identifier." } }, "summary": "Retrieve a file share mount target", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.mount-target.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$share_id/mount_targets/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getShareMountTargetOptions := &vpcv1.GetShareMountTargetOptions{\n ShareID: &shareId,\n ID: &shareMountTargetId,\n}\n\nshareMountTarget, response, err := vpcService.GetShareMountTarget(getShareMountTargetOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetShareMountTargetOptions getShareMountTargetOptions = new GetShareMountTargetOptions.Builder()\n .shareId(shareId)\n .id(shareMountTargetId)\n .build();\n\nResponse response = vpcService.getShareMountTarget(getShareMountTargetOptions).execute();\nShareMountTarget shareMountTarget = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareMountTargetId,\n};\n\nconst response = await vpcService.getShareMountTarget(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_share_mount_target(\n share_id=shareId,\n id=shareMountTargetId,\n)\nshare_mount_target = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareId" }, { "$ref": "#/components/parameters/shareMountTargetIdUnqualified" } ], "patch": { "description": "This request updates a share mount target with the information provided in a share\nmount target patch object. The share mount target patch object is structured in the\nsame way as a retrieved share mount target and needs to contain only the information\nto be updated.", "operationId": "update_share_mount_target", "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/ShareMountTargetPatch" } } }, "description": "The share mount target patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "access_control_mode": "security_group", "created_at": "2025-01-06T01:59:46.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "lifecycle_state": "stable", "mount_path": "fsf-dal1099a-fz.adn.networklayer.com:/nxg_s_voll_mz0716_a4cc07a3_4425_4adf_aed6_0d7e142bee0c", "name": "my-share-mount-target-updated", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "share_mount_target", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "transit_encryption": "none", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/ShareMountTarget" } } }, "description": "The share mount target was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid share mount target patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share mount target with the specified identifier could not be found for the file\nshare with the specified identifier." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The share mount target patch conflicts with another share mount target\nfor the file share." } }, "summary": "Update a file share mount target", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.mount-target.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/shares/$share_id/mount_targets/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-share-mount-target-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "shareMountTargetPatchModel := &vpcv1.ShareMountTargetPatch{\n Name: &[]string{\"my-share-mount-target-updated\"}[0],\n}\nshareMountTargetPatchModelAsPatch, asPatchErr := shareMountTargetPatchModel.AsPatch()\n\nupdateShareMountTargetOptions := &vpcv1.UpdateShareMountTargetOptions{\n ShareID: &shareId,\n ID: &shareMountTargetId,\n ShareMountTargetPatch: shareMountTargetPatchModelAsPatch,\n}\n\nshareMountTarget, response, err := vpcService.UpdateShareMountTarget(updateShareMountTargetOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ShareMountTargetPatch shareMountTargetPatchModel = new ShareMountTargetPatch.Builder()\n .name(\"my-share-mount-target-updated\")\n .build();\nMap shareMountTargetPatchModelAsPatch = shareMountTargetPatchModel.asPatch();\nUpdateShareMountTargetOptions updateShareMountTargetOptions = new UpdateShareMountTargetOptions.Builder()\n .shareId(shareId)\n .id(shareMountTargetId)\n .shareMountTargetPatch(shareMountTargetPatchModelAsPatch)\n .build();\n\nResponse response = vpcService.updateShareMountTarget(updateShareMountTargetOptions).execute();\nShareMountTarget shareMountTarget = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareMountTargetId,\n name: 'my-share-mount-target-updated',\n};\n\nconst response = await vpcService.updateShareMountTarget(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "share_mount_target_patch_model = {\n 'name': 'my-share-mount-target-updated'\n}\n\nresponse = vpc_service.update_share_mount_target(\n share_id=shareId,\n id=shareMountTargetId,\n share_mount_target_patch=share_mount_target_patch_model,\n)\nshare_mount_target = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/shares/{share_id}/snapshots": { "get": { "description": "This request lists snapshots for the specified file share, or across all accessible\nfile shares. A snapshot preserves the data of a share at the time the snapshot was\ncaptured.\n\nIf the file share is a replica, the list will contain snapshots corresponding to\nsnapshots on the source.", "operationId": "list_share_snapshots", "parameters": [ { "$ref": "#/components/parameters/shareIdOrWildcard" }, { "$ref": "#/components/parameters/backupPolicyPlan" }, { "$ref": "#/components/parameters/name" }, { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/sort" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots?limit=50" }, "limit": 50, "snapshots": [ { "captured_at": "2025-01-06T01:21:12.000Z", "created_at": "2025-01-06T01:59:46.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "7abc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "stable", "minimum_size": 10, "name": "my-share-snapshot", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "captured_at": "2025-01-07T11:01:14.000Z", "created_at": "2025-01-07T11:05:23.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-d13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "9bbc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-d13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-d13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "stable", "minimum_size": 10, "name": "my-share-snapshot-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "schema": { "$ref": "#/components/schemas/ShareSnapshotCollection" } } }, "description": "The share snapshots were retrieved successfully.", "headers": { "ETag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share with the specified identifier could not be found." } }, "summary": "List file share snapshots", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "description": "Generated for each snapshot in the list.", "name": "is.share.snapshot.read" } ] }, "x-ibm-permissions": { "actions": [ { "description": "If a wildcard is specified, required for each share snapshot.\nOtherwise, required for the specified share snapshot.", "name": "is.share.snapshot.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$share_id/snapshots?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listShareSnapshotsOptions := &vpcv1.ListShareSnapshotsOptions{\n ShareID: &shareId,\n}\n\nshareMountSnapshotCollection, response, err := vpcService.ListShareSnapshots(listShareMountTargetsOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListShareSnapshotsOptions listShareSnapshotsOptions = new ListShareSnapshotsOptions.Builder()\n .shareId(shareId)\n .build();\n\nResponse response = vpcService.listShareSnapshots(listShareSnapshotsOptions).execute();\nShareSnapshotsCollection shareSnapshotsCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n};\n\nconst response = await vpcService.listShareSnapshot(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_share_snapshots(\n share_id=shareId,\n)\nshare_snapshot_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new share snapshot from a share snapshot prototype object. The\nprototype object is structured in the same way as a retrieved share snapshot, and\ncontains the information necessary to create the new share snapshot.\n\nThe share must have an `access_control_mode` of `security_group` and a `replication_role`\nof `source` or `none`.\n\nThe snapshot will inherit its `resource_group` and encryption settings from the share.\n\nIf the share has a `replication_role` of `source`, a corresponding snapshot on\nthe replica share will be created with a `status` of `pending`. It will remain in\n`pending` until the data is synchronized per the replication schedule determined by the\nreplica share's `replication_cron_spec`.", "operationId": "create_share_snapshot", "parameters": [ { "$ref": "#/components/parameters/shareId" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShareSnapshotPrototype" } } }, "description": "The share snapshot prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "captured_at": "2025-01-06T01:21:12.000Z", "created_at": "2025-01-06T01:59:46.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "7abc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "pending", "minimum_size": 10, "name": "my-share-snapshot", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/ShareSnapshot" } } }, "description": "The share snapshot was created successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid share snapshot prototype object was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A file share with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The share snapshot object conflicts with another share snapshot in the region, or the\nshare cannot be used in its current state" } }, "summary": "Create a snapshot for a file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.snapshot.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.snapshot.create" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/shares/$share_id/snapshots?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-share-snapshot\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "createShareSnapshotOptions := &vpcv1.CreateShareSnapshotOptions{\n ShareID: shareId,\n Name: core.StringPtr(\"my-example-share-snapshot\"),\n UserTags: []string{\"my-share-snapshot-tag\"},\n}\n\nshareSnapshot, response, err := vpcService.CreateShareSnapshot(createShareSnapshotOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CreateShareSnapshotOptions createShareSnapshotOptions = new CreateShareSnapshotOptions.Builder()\n .shareId(shareId)\n .name(\"my-example-share-snapshot\")\n .userTags(java.util.Arrays.asList(\"my-share-snapshot-tag\"))\n .build();\nResponse response = vpcService.createShareSnapshot(createShareSnapshotOptions).execute();\nShareSnapshot shareSnapshot = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n name: 'my-example-share-snapshot',\n userTags: ['my-share-snapshot-tag'],\n};\nconst res = await vpcService.createShareSnapshot(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.create_share_snapshot(\n share_id=shareId,\n name='my-example-share-snapshot',\n user_tags=['my-share-snapshot-tag'],\n)\nshare_snapshot = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/shares/{share_id}/snapshots/{id}": { "delete": { "description": "This request deletes a share snapshot. This operation cannot be reversed. For this\nrequest to succeed, the share must have a `replication_role` of `source` or `none`.\n\nIf the request is accepted, the share snapshot `lifecycle_state` will be set to\n`deleting`. Once deletion processing completes, the share snapshot will no longer be\nretrievable.\n\nDeleting a share snapshot will not affect any previously-accepted requests to create a\nshare from it.\n\nIf the share has a `replication_role` of `source`, the corresponding snapshot\non the replica share will be subsequently moved to a `lifecycle_state` of `deleting`. If\nthe data for the corresponding snapshot has already been synchronized via the replication\nschedule determined by `replication_cron_spec`, the snapshot will remain available in the\nreplica share's `.snapshot` directory until the next replication sync.", "operationId": "delete_share_snapshot", "responses": { "202": { "content": { "application/json": { "example": { "captured_at": "2025-01-06T01:21:12.000Z", "created_at": "2025-01-06T01:59:46.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "7abc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "deleting", "minimum_size": 10, "name": "my-share-snapshot", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/ShareSnapshot" } } }, "description": "The share snapshot deletion request was accepted.", "headers": { "ETag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share snapshot with the specified identifier could not be found for the file\nshare with the specified identifier." } }, "summary": "Delete a share snapshot", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.snapshot.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.snapshot.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/shares/$share_id/snapshots/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteShareSnapshotOptions := &vpcv1.DeleteShareSnapshotOptions{\n ShareID: &shareId,\n ID: &shareSnapshotId,\n}\n\nshareSnapshot, response, err := vpcService.DeleteShareSnapshot(deleteShareSnapshotOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteShareSnapshotOptions deleteShareSnapshotOptions = new DeleteShareSnapshotOptions.Builder()\n .shareId(shareId)\n .id(shareSnapshotId)\n .build();\n\nResponse response = vpcService.deleteSnapshot(deleteShareSnapshotOptions).execute();\nShareSnapshot shareSnapshot = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareSnapshotId,\n};\n\nconst response = await vpcService.deleteShareSnapshot(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_share_snapshot(\n share_id=shareId,\n id=shareSnapshotId,\n)\nshare_snapshot = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single share snapshot specified by the identifier in the URL.", "operationId": "get_share_snapshot", "responses": { "200": { "content": { "application/json": { "example": { "captured_at": "2025-01-06T01:21:12.000Z", "created_at": "2025-01-06T01:59:46.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "7abc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "stable", "minimum_size": 10, "name": "my-share-snapshot", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/ShareSnapshot" } } }, "description": "The share snapshot was retrieved successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share snapshot with the specified identifier could not be found for the file\nshare with the specified identifier." } }, "summary": "Retrieve a share snapshot", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.snapshot.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.snapshot.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$share_id/snapshots/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getShareSnapshotOptions := &vpcv1.GetShareSnapshotOptions{\n ShareID: &shareId,\n ID: &shareSnapshotId,\n}\n\nshareSnapshot, response, err := vpcService.GetShareSnapshot(getShareSnapshotOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetShareSnapshotOptions getShareSnapshotOptions = new GetShareSnapshotOptions.Builder()\n .shareId(shareId)\n .id(shareSnapshotId)\n .build();\n\nResponse response = vpcService.getShareSnapshot(getShareSnapshotOptions).execute();\nShareSnapshot shareSnapshot = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareSnapshotId,\n};\n\nconst response = await vpcService.getShareSnapshot(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_share_snapshot(\n share_id=shareId,\n id=shareSnapshotId,\n)\nshare_snapshot = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareId" }, { "$ref": "#/components/parameters/shareSnapshotIdUnqualified" } ], "patch": { "description": "This request updates a share snapshot with the information provided in a share snapshot\npatch object. The share snapshot patch object is structured in the same way as a retrieved\nshare snapshot and needs to contain only the information to be updated.", "operationId": "update_share_snapshot", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContextUnquoted" } ], "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/ShareSnapshotPatch" } } }, "description": "The share snapshot patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "captured_at": "2025-01-06T01:21:12.000Z", "created_at": "2025-01-06T01:59:46.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "7abc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "stable", "minimum_size": 10, "name": "my-share-snapshot", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/ShareSnapshot" } } }, "description": "The share snapshot was updated successfully.", "headers": { "ETag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid share snapshot patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A share snapshot with the specified identifier could not be found for the file\nshare with the specified identifier." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The share snapshot object conflicts with another share snapshot in the region." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the share\nsnapshot." } }, "summary": "Update a share snapshot", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.snapshot.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.snapshot.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/shares/$share_id/snapshots/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"user_tags\": \"my-share-snapshot-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "shareSnapshotPatchModel := &vpcv1.ShareSnapshotPatch{\n UserTags: &[]string{\"my-share-snapshot-updated\"}[0],\n}\nshareSnapshotPatchModelAsPatch, asPatchErr := shareSnapshotPatchModel.AsPatch()\n\nupdateShareSnapshotOptions := &vpcv1.UpdateShareSnapshotOptions{\n ShareID: &shareId,\n ID: &shareSnapshotId,\n ShareSnapshotPatch: shareSnapshotPatchModelAsPatch,\n}\n\nshareSnapshot, response, err := vpcService.UpdateShareSnapshot(updateShareSnapshotOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ShareSnapshotPatch shareSnapshotPatchModel = new ShareSnapshotPatch.Builder()\n .userTags(java.util.Arrays.asList(\"my-new-share-snapshot-tag\"))\n .build();\nMap shareSnapshotPatchModelAsPatch = shareSnapshotPatchModel.asPatch();\nUpdateShareSnapshotOptions updateShareSnapshotOptions = new UpdateShareSnapshotOptions.Builder()\n .shareId(shareId)\n .id(shareSnapshotId)\n .shareSnapshotPatch(shareSnapshotPatchModelAsPatch)\n .build();\n\nResponse response = vpcService.updateShareSnapshot(updateShareSnapshotOptions).execute();\nShareSnapshot shareSnapshot = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n id: shareSnapshotId,\n user_tags: ['my-share-tag'],\n};\n\nconst response = await vpcService.updateShareSnapshot(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "share_snapshot_patch_model = {\n 'user_tags': ['share-snapshot-name-updated'],\n}\n\nresponse = vpc_service.update_share_snapshot(\n share_id=shareId,\n id=shareSnapshotId,\n share_snapshot_patch=share_snapshot_patch_model,\n)\nshare_snapshot = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/shares/{share_id}/source": { "delete": { "description": "This request removes the replication relationship between a source share and\nthe replica share specified by the identifier in the URL.\nThe replication relationship cannot be removed if a source share or the replica share\nhas a `lifecycle_state` of `updating`, or has a replication operation in progress.\n\nThis operation cannot be reversed.", "operationId": "delete_share_source", "responses": { "202": { "description": "The file share split request was accepted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A replica file share with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The file share cannot be split in its current state." } }, "summary": "Split the source file share from a replica file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.split" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/shares/$share_id/source?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteShareSourceOptions := &vpcv1.DeleteShareSourceOptions{\n ShareID: &shareId,\n}\n\nresponse, err := vpcService.DeleteShareSource(deleteShareSourceOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteShareSourceOptions deleteShareSourceOptions = new DeleteShareSourceOptions.Builder()\n .shareId(shareId)\n .build();\n\nResponse response = vpcService.deleteShareSource(deleteShareSourceOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n};\n\nawait vpcService.deleteShareSource(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_share_source(\n share_id=shareId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves the source file share associated with the replica file share\nspecified by the identifier in the URL.", "operationId": "get_share_source", "responses": { "200": { "content": { "application/json": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "name": "my-source-share", "resource_type": "share" }, "schema": { "$ref": "#/components/schemas/ShareReference" } } }, "description": "The source file share was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A replica file share with the specified identifier could not be found." } }, "summary": "Retrieve the source file share for a replica file share", "tags": [ "Shares" ], "x-ibm-events": { "events": [ { "name": "is.share.share.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.share.share.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/shares/$share_id/source?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getShareSourceOptions := &vpcv1.GetShareSourceOptions{\n ShareID: &shareId,\n}\n\nshare, response, err := vpcService.GetShareSource(getShareSourceOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetShareSourceOptions getShareSourceOptions = new GetShareSourceOptions.Builder()\n .shareId(shareId)\n .build();\n\nResponse response = vpcService.getShareSource(getShareSourceOptions).execute();\nShare share = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n shareId: shareId,\n};\n\nconst response = await vpcService.getShareSource(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_share_source(\n share_id=shareId,\n)\nshare = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/shareId" } ] }, "/snapshot_consistency_groups": { "get": { "description": "This request lists snapshot consistency groups in the region. A snapshot consistency\ngroup is a collection of individual snapshots taken at the same time.", "operationId": "list_snapshot_consistency_groups", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceGroup" }, { "$ref": "#/components/parameters/name" }, { "$ref": "#/components/parameters/sort" }, { "$ref": "#/components/parameters/backupPolicyPlan" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups?limit=50" }, "limit": 50, "snapshot_consistency_groups": [ { "created_at": "2025-01-06T20:18:18Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "delete_snapshots_on_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "name": "my-snapshot-consistency-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot_consistency_group", "service_tags": [], "snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "name": "my-group-1-snapshot-1", "resource_type": "snapshot" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "id": "r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "name": "my-group-1-snapshot-2", "resource_type": "snapshot" } ] } ], "total_count": 1 }, "schema": { "$ref": "#/components/schemas/SnapshotConsistencyGroupCollection" } } }, "description": "The snapshot consistency groups were retrieved successfully" } }, "summary": "List snapshot consistency groups", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.list" }, { "name": "is.snapshot-consistency-group.snapshot-consistency-group.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/snapshot_consistency_groups?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListSnapshotConsistencyGroupsOptions{}\nsnapshotConsistencyGroups, response, err := vpcService.ListSnapshotConsistencyGroups(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListSnapshotConsistencyGroupsOptions listSnapshotConsistencyGroupsOptions = new ListSnapshotConsistencyGroupsOptions.Builder()\n .build();\nResponse response = service.listSnapshotConsistencyGroups(listSnapshotConsistencyGroupsOptions).execute();\nSnapshotConsistencyGroupCollection snapshotConsistencyGroupCollectionResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listSnapshotConsistencyGroups();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_snapshot_consistency_group()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new snapshot consistency group from a snapshot consistency group\nobject. The prototype object is structured in the same way as a retrieved consistency\ngroup, and contains the information necessary to provision the new snapshot consistency\ngroup.", "operationId": "create_snapshot_consistency_group", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SnapshotConsistencyGroupPrototype" } } }, "description": "The snapshot consistency group prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "created_at": "2025-01-06T20:18:18Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "delete_snapshots_on_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "pending", "name": "my-snapshot-consistency-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot_consistency_group", "service_tags": [], "snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "name": "my-group-1-snapshot-1", "resource_type": "snapshot" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "id": "r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "name": "my-group-1-snapshot-2", "resource_type": "snapshot" } ] }, "schema": { "$ref": "#/components/schemas/SnapshotConsistencyGroup" } } }, "description": "The snapshot consistency group was created successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid snapshot consistency group prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The snapshot consistency group prototype object conflicts with another snapshot\nconsistency group in the region." } }, "summary": "Create a snapshot consistency group", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.create" }, { "description": "Generated for each snapshot created", "name": "is.snapshot.snapshot.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.create" }, { "description": "Required for each `source_volume` specified.", "name": "is.volume.volume.operate" }, { "description": "Required for the instance attached to the source volumes.", "name": "is.instance.instance.operate" }, { "description": "Required when `snapshots` is specified.", "name": "is.snapshot.snapshot.create" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/snapshot_consistency_groups?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-snapshot\",\n \"snapshots\": [{\"name\": \"snapshot-name-1\",\n \"source_volume\": {\"id\": \"r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5\"}\n }]\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "snapshotConsistencyGroupPrototypeSnapshotsItem1 := &vpcv1.SnapshotConsistencyGroupPrototypeSnapshotsItem{\n Name: core.StringPtr(\"my-snapshot-1\"),\n SourceVolume: &vpcv1.VolumeIdentityByID{\n ID: &volumeID,\n },\n UserTags: []string{\"disk:boot\"},\n}\nsnapshotConsistencyGroupPrototypeSnapshotsItem2 := &vpcv1.SnapshotConsistencyGroupPrototypeSnapshotsItem{\n Name: core.StringPtr(\"my-snapshot-2\"),\n SourceVolume: &vpcv1.VolumeIdentityByID{\n ID: &volumeID1,\n },\n UserTags: []string{\"disk:system\"},\n}\nsnapshotConsistencyGroupPrototype := &vpcv1.SnapshotConsistencyGroupPrototype{\n DeleteSnapshotsOnDelete: core.BoolPtr(true),\n Name: core.StringPtr(\"my-snapshot-consistency-group\"),\n Snapshots: []vpcv1.SnapshotConsistencyGroupPrototypeSnapshotsItem{snapshotConsistencyGroupPrototypeSnapshotsItem1,snapshotConsistencyGroupPrototypeSnapshotsItem2},\n}\noptions := &vpcv1.CreateSnapshotConsistencyGroupOptions{\n SnapshotConsistencyGroupPrototype: &snapshotConsistencyGroupPrototype\n}\nsnapshotConsistencyGroup, response, err := vpcService.CreateSnapshotConsistencyGroup(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VolumeIdentityById volumeIdentityModel = new VolumeIdentityById.Builder()\n .id(volumeID)\n .build();\nVolumeIdentityById volumeIdentityModel1 = new VolumeIdentityById.Builder()\n .id(volumeID1)\n .build();\nSnapshotConsistencyGroupPrototypeSnapshotsItem snapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshotsSnapshotsItemModel1 = new SnapshotConsistencyGroupPrototypeSnapshotsItem.Builder()\n .name(\"my-snapshot-1\")\n .sourceVolume(volumeIdentityModel)\n .userTags(java.util.Arrays.asList(\"disk:boot\"))\n .build();\nSnapshotConsistencyGroupPrototypeSnapshotsItem snapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshotsSnapshotsItemModel2 = new SnapshotConsistencyGroupPrototypeSnapshotsItem.Builder()\n .name(\"my-snapshot-2\")\n .sourceVolume(volumeIdentityModel1)\n .userTags(java.util.Arrays.asList(\"disk:system\"))\n .build();\nSnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots snapshotConsistencyGroupPrototypeModel = new SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots.Builder()\n .deleteSnapshotsOnDelete(true)\n .name(\"my-snapshot-consistency-group\")\n .snapshots(java.util.Arrays.asList(snapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshotsSnapshotsItemModel1, snapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshotsSnapshotsItemModel2))\n .build();\nCreateSnapshotConsistencyGroupOptions createSnapshotConsistencyGroupOptions = new CreateSnapshotConsistencyGroupOptions.Builder()\n .snapshotConsistencyGroupPrototype(snapshotConsistencyGroupPrototypeModel)\n .build();\nResponse response = service.createSnapshotConsistencyGroup(createSnapshotConsistencyGroupOptions).execute();\nSnapshot snapshotResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const snapshotConsistencyGroupBySnapshots1 = {\n name: 'my-snapshot-1',\n source_volume: {\n id: volumeID,\n },\n user_tags: ['disk:boot'],\n};\nconst snapshotConsistencyGroupBySnapshots2 = {\n name: 'my-snapshot-2',\n source_volume: {\n id: volumeID1,\n },\n user_tags: ['disk:system'],\n};\nconst snapshotConsistencyGroupPrototype = {\n delete_snapshots_on_delete: false,\n name: 'my_snapshot-consistency-group',\n snapshots: [snapshotConsistencyGroupBySnapshots1, snapshotConsistencyGroupBySnapshots2],\n};\nconst params = {\n snapshotConsistencyGroupPrototype: SnapshotConsistencyGroupPrototype\n};\nconst response = await vpcService.createSnapshotConsistencyGroup(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "source_volume_model = {}\nsource_volume_model['id'] = volume_id\nsnapshot_consistency_group_by_snapshots = {\n 'source_volume' = source_volume_model,\n 'name': `my-snapshot-1`,\n 'user_tags': ['disk:boot'],\n}\nsource_volume_model1 = {}\nsource_volume_model1['id'] = volume_id1\nsnapshot_consistency_group_by_snapshots1 = {\n 'source_volume' = source_volume_model1,\n 'name': `my-snapshot-2`,\n 'user_tags': ['disk:system'],\n}\nsnapshot_consistency_group_prototype = {\n delete_snapshots_on_delete = false,\n snapshots = [snapshot_consistency_group_by_snapshots, snapshot_consistency_group_by_snapshots1],\n name = `my_snapshot_consistency_group`,\n}\nresponse = vpc_service.create_snapshot(\n source_volume=source_volume_model,\n name='my-snapshot')\nresponse = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/snapshot_consistency_groups/{id}": { "delete": { "description": "This request deletes snapshot consistency group. This operation cannot be reversed. If\nthe `delete_snapshots_on_delete` property is `true`, all snapshots in the consistency\ngroup will also be deleted.", "operationId": "delete_snapshot_consistency_group", "responses": { "202": { "content": { "application/json": { "example": { "created_at": "2025-01-06T20:18:18Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "delete_snapshots_on_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "deleting", "name": "my-snapshot-consistency-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot_consistency_group", "service_tags": [], "snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "name": "my-group-1-snapshot-1", "resource_type": "snapshot" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "id": "r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "name": "my-group-1-snapshot-2", "resource_type": "snapshot" } ] }, "schema": { "$ref": "#/components/schemas/SnapshotConsistencyGroup" } } }, "description": "The snapshot consistency group deletion request was accepted." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot consistency group with the specified identifier could not be found." } }, "summary": "Delete a snapshot consistency group", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.delete" }, { "description": "Generated for each deleted snapshot", "name": "is.snapshot.snapshot.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.delete" }, { "description": "Required when `delete_snapshots_on_delete` property is `true`", "name": "is.snapshot.snapshot.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/snapshot_consistency_groups/$snapshot_consistency_group_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteSnapshotConsistencyGroupOptions{\n ID: &snapshotConsistencyGroupID,\n}\nresponse, err := vpcService.DeleteSnapshotConsistencyGroup(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteSnapshotConsistencyGroupsOptions deleteSnapshotConsistencyGroupsOptions = new DeleteSnapshotConsistencyGroupsOptions.Builder()\n .id(snapshotConsistencyGroupID)\n .build();\nResponse response = service.deleteSnapshotConsistencyGroups(deleteSnapshotConsistencyGroupsOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteSnapshotConsistencyGroup({ id: snapshotConsistencyGroupID });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_snapshot_consistency_group(snapshot_consistency_group_id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single snapshot consistency group specified by the identifier\nin the URL.", "operationId": "get_snapshot_consistency_group", "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2025-01-06T20:18:18Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "delete_snapshots_on_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "name": "my-snapshot-consistency-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot_consistency_group", "service_tags": [], "snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "name": "my-group-1-snapshot-1", "resource_type": "snapshot" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "id": "r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "name": "my-group-1-snapshot-2", "resource_type": "snapshot" } ] }, "schema": { "$ref": "#/components/schemas/SnapshotConsistencyGroup" } } }, "description": "The snapshot consistency group was retrieved successfully", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot consistency group with the specified identifier could not be found." } }, "summary": "Retrieve a snapshot consistency group", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/snapshot_consistency_groups/$snapshot_consistency_group_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetSnapshotConsistencyGroupOptions{\n ID: &snapshotConsistencyGroupID,\n}\nsnapshotConsistencyGroup, response, err := vpcService.GetSnapshotConsistencyGroup(options)\nsnapshotConsistencyGroupETag = response.Headers.Get(\"ETag\")" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSnapshotConsistencyGroupOptions getSnapshotConsistencyGroupOptions = new GetSnapshotConsistencyGroupOptions.Builder()\n .id(snapshotConsistencyGroupID)\n .build();\nResponse response = service.getSnapshotConsistencyGroup(getSnapshotConsistencyGroupOptions).execute();\nSnapshotConsistencyGroup snapshotConsistencyGroupResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSnapshotConsistencyGroup({ id: snapshotConsistencyGroupID });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_snapshot_consistency_group(snapshot_consistency_group_id)\nsnapshot_consistency_group = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/snapshotConsistencyGroupIdUnqualified" } ], "patch": { "description": "This request updates a snapshot consistency group with the information in a provided\nsnapshot consistency group patch. The snapshot consistency group patch object is\nstructured in the same way as a retrieved snapshot consistency group and contains only\nthe information to be updated.", "operationId": "update_snapshot_consistency_group", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContext" } ], "requestBody": { "content": { "application/merge-patch+json": { "example": { "delete_snapshots_on_delete": false }, "schema": { "$ref": "#/components/schemas/SnapshotConsistencyGroupPatch" } } }, "description": "The snapshot consistency group patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2025-01-06T20:18:18Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "delete_snapshots_on_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "name": "my-snapshot-consistency-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot_consistency_group", "service_tags": [], "snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "name": "my-group-1-snapshot-1", "resource_type": "snapshot" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "id": "r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "name": "my-group-1-snapshot-2", "resource_type": "snapshot" } ] }, "schema": { "$ref": "#/components/schemas/SnapshotConsistencyGroup" } } }, "description": "The snapshot consistency group was updated successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid snapshot consistency group patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot consistency group with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The snapshot consistency group patch conflicts with another snapshot consistency group\nin the region." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the snapshot\nconsistency group" } }, "summary": "Update a snapshot consistency group", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot-consistency-group.snapshot-consistency-group.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/snapshot_consistency_groups/$snapshot_consistency_group_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-updated-snapshot-consistency-group\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "name := \"my-snapshot-consistency-group-updated\"\nsnapshotConsistencyGroupPatchModel := &vpcv1.SnapshotConsistencyGroupPatch{\n Name: &name,\n}\nsnapshotConsistencyGroupPatch, asPatchErr := snapshotConsistencyGroupPatchModel.AsPatch()\noptions := &vpcv1.UpdateSnapshotConsistencyGroupOptions{\n ID: &snapshotID,\n SnapshotConsistencyGroupPatch: snapshotConsistencyGroupPatch,\n IfMatch: snapshotConsistencyGroupETag,\n}\nsnapshotConsistencyGroup, response, err := vpcService.UpdateSnapshotConsistencyGroup(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "SnapshotConsistencyGroupPatch snapshotConsistencyGroupPatchModel = new SnapshotConsistencyGroupPatch.Builder()\n .name(\"my-snapshot-consistency-group-updated\")\n .build();\nMap snapshotConsistencyGroupPatchModelAsPatch = snapshotConsistencyGroupPatchModel.asPatch();\nUpdateSnapshotConsistencyGroupOptions updateSnapshotConsistencyGroupOptions = new UpdateSnapshotConsistencyGroupOptions.Builder()\n .id(snapshotConsistencyGroupID)\n .snapshotConsistencyGroupPatch(snapshotConsistencyGroupPatchModelAsPatch)\n .build();\nResponse response = service.updateSnapshot(updateSnapshotOptions).execute();\nSnapshot snapshotResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: snapshotConsistencyGroupID,\n name: 'my-snapshot-consistency-group-updated',\n};\nconst response = await vpcService.updateSnapshotConsistencyGroup(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "snapshot_consistency_group_patch_model = {}\nsnapshot_consistency_group_patch_model['name'] = 'my_snapshot_consistency_group-updated'\nresponse = vpc_service.update_snapshot_consistency_group(\n snapshot_consistency_group_id, snapshot_consistency_group_patch=snapshot_consistency_group_patch_model)\nresponse = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/snapshots": { "delete": { "description": "This request deletes snapshots that match the specified filter.\nThis operation cannot be reversed.", "operationId": "delete_snapshots", "parameters": [ { "description": "Filters the collection to resources with a `source_volume.id` property matching the\nspecified identifier.", "in": "query", "name": "source_volume.id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } } ], "responses": { "202": { "description": "The snapshots deletion request was accepted." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid query parameter or header was provided." } }, "summary": "Delete a filtered collection of snapshots", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot.delete" }, { "description": "Generated for each snapshot clone in `clones[]`", "name": "is.snapshot.snapshot-clone.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/snapshots?source_volume.id=r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5&version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteSnapshotsOptions{\n SourceVolumeID: &volumeID,\n}\nresponse, err := vpcService.DeleteSnapshots(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteSnapshotsOptions deleteSnapshotsOptions = new DeleteSnapshotsOptions.Builder()\n .sourceVolumeId(volumeID)\n .build();\n\nResponse response = service.deleteSnapshots(deleteSnapshotsOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteSnapshots({ sourceVolumeId: volumeID });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_snapshots(\n source_volume_id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request lists snapshots in the region. A snapshot preserves the data of a volume\nat the time the snapshot is created.", "operationId": "list_snapshots", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceByTag" }, { "$ref": "#/components/parameters/resourceGroup" }, { "$ref": "#/components/parameters/name" }, { "$ref": "#/components/parameters/sourceVolume" }, { "$ref": "#/components/parameters/sourceVolumeByCRN" }, { "$ref": "#/components/parameters/sourceImage" }, { "$ref": "#/components/parameters/sourceImageByCRN" }, { "$ref": "#/components/parameters/sort" }, { "$ref": "#/components/parameters/backupPolicyPlan" }, { "$ref": "#/components/parameters/snapshotCopiesID" }, { "$ref": "#/components/parameters/snapshotCopiesName" }, { "$ref": "#/components/parameters/snapshotCopiesCRN" }, { "$ref": "#/components/parameters/snapshotCopiesRemoteRegion" }, { "$ref": "#/components/parameters/sourceSnapshot" }, { "$ref": "#/components/parameters/sourceSnapshotRemoteRegion" }, { "$ref": "#/components/parameters/sourceVolumeRemoteRegion" }, { "$ref": "#/components/parameters/sourceImageRemoteRegion" }, { "$ref": "#/components/parameters/snapshotClonesByZone" }, { "$ref": "#/components/parameters/snapshotConsistencyGroup" }, { "$ref": "#/components/parameters/snapshotConsistencyGroupByCRN" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots?limit=50" }, "limit": 50, "snapshots": [ { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "bootable": true, "captured_at": "2025-01-28T13:44:51Z", "clones": [], "copies": [], "created_at": "2025-01-28T13:42:31Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "deletable": true, "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "minimum_capacity": 100, "name": "my-snapshot", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "progress": 100, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot", "service_tags": [], "size": 1, "source_image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "source_volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "storage_generation": 1, "user_tags": [] } ], "total_count": 1 }, "schema": { "$ref": "#/components/schemas/SnapshotCollection" } } }, "description": "The snapshots were retrieved successfully" } }, "summary": "List snapshots", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot.read" }, { "name": "is.snapshot.snapshot-clone.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.list" }, { "name": "is.snapshot.snapshot.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/snapshots?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListSnapshotsOptions{}\nsnapshots, response, err := vpcService.ListSnapshots(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListSnapshotsOptions listSnapshotsOptions = new ListSnapshotsOptions.Builder()\n .build();\n\nResponse response = service.listSnapshots(listSnapshotsOptions).execute();\n\nSnapshotCollection snapshotCollectionResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listSnapshots();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_snapshots()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new snapshot from a snapshot prototype object. The prototype\nobject is structured in the same way as a retrieved snapshot, and contains the information\nnecessary to provision the new snapshot.", "operationId": "create_snapshot", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SnapshotPrototype" } } }, "description": "The snapshot prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "bootable": true, "clones": [], "copies": [], "created_at": "2025-01-28T13:42:31Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "deletable": true, "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "pending", "minimum_capacity": 100, "name": "my-snapshot", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "progress": 52, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot", "service_tags": [], "size": 1, "source_image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "source_volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "storage_generation": 1, "user_tags": [] }, "schema": { "$ref": "#/components/schemas/Snapshot" } } }, "description": "The snapshot was created successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid snapshot prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The snapshot prototype object conflicts with another snapshot patch in the region,\nor the snapshot prototype object specified one or more of:\n - An encryption key that cannot be used in its current state.\n - A snapshot that is already the source of another snapshot in this region." } }, "summary": "Create a snapshot", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot.create" }, { "name": "is.snapshot.snapshot.capture" }, { "description": "Generated for each snapshot clone in `clones[]`", "name": "is.snapshot.snapshot-clone.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.create" }, { "description": "Required when `clones` is specified", "name": "is.snapshot.snapshot-clone.create" }, { "name": "is.volume.volume.operate" }, { "description": "Required for the instance the volume is attached to", "name": "is.instance.instance.operate" }, { "description": "Required when `allowed_use` is specified.", "name": "is.snapshot.snapshot.manage-allowed-use" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/snapshots?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-snapshot\",\n \"source_volume\": { \"id\": \"r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5\" }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "name := \"my-snapshot\"\noptions := &vpcv1.CreateSnapshotOptions{\n Name: &name,\n SourceVolume: &vpcv1.VolumeIdentityByID{\n ID: &volumeID,\n },\n}\nsnapshot, response, err := vpcService.CreateSnapshot(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VolumeIdentityById volumeIdentityModel = new VolumeIdentityById.Builder()\n .id(volumeID)\n .build();\n\nCreateSnapshotOptions createSnapshotOptions = new CreateSnapshotOptions.Builder()\n .name(\"my-snapshot\")\n .sourceVolume(volumeIdentityModel)\n .build();\n\nResponse response = service.createSnapshot(createSnapshotOptions).execute();\nSnapshot snapshotResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n sourceVolume: {\n id: volumeID,\n },\n name: 'my-snapshot',\n};\nconst response = await vpcService.createSnapshot(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "source_volume_model = {}\nsource_volume_model['id'] = volume_id\ncreate_snapshot_response = vpc_service.create_snapshot(\n source_volume=source_volume_model,\n name='my-snapshot')\n\nresponse = create_snapshot_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/snapshots/{id}": { "delete": { "description": "This request deletes a snapshot. This operation cannot be reversed.", "operationId": "delete_snapshot", "parameters": [ { "$ref": "#/components/parameters/ifMatch" } ], "responses": { "202": { "description": "The snapshot deletion request was accepted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot with the specified identifier could not be found." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the snapshot" } }, "summary": "Delete a snapshot", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot.delete" }, { "description": "Generated for each snapshot clone in `clones[]`", "name": "is.snapshot.snapshot-clone.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/snapshots/$snapshot_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteSnapshotOptions{\n ID: &snapshotID,\n}\nresponse, err := vpcService.DeleteSnapshot(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteSnapshotOptions deleteSnapshotOptions = new DeleteSnapshotOptions.Builder()\n .id(snapshotID)\n .build();\n\nResponse response = service.deleteSnapshot(deleteSnapshotOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteSnapshot({ id: snapshotID });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_snapshot(snapshot_id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single snapshot specified by the identifier in the URL.", "operationId": "get_snapshot", "responses": { "200": { "content": { "application/json": { "example": { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "bootable": true, "captured_at": "2025-01-28T13:44:51Z", "clones": [], "copies": [], "created_at": "2025-01-28T13:42:31Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "deletable": true, "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "minimum_capacity": 100, "name": "my-snapshot", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "progress": 100, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot", "service_tags": [], "size": 1, "source_image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "source_volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "storage_generation": 1, "user_tags": [] }, "schema": { "$ref": "#/components/schemas/Snapshot" } } }, "description": "The snapshot was retrieved successfully", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot with the specified identifier could not be found." } }, "summary": "Retrieve a snapshot", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot.read" }, { "name": "is.snapshot.snapshot-clone.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/snapshots/$snapshot_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetSnapshotOptions{\n ID: &snapshotID,\n}\nsnapshot, response, err := vpcService.GetSnapshot(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSnapshotOptions getSnapshotOptions = new GetSnapshotOptions.Builder()\n .id(snapshotID)\n .build();\n\nResponse response = service.getSnapshot(getSnapshotOptions).execute();\nSnapshot snapshotResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSnapshot({ id: snapshotID });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_snapshot(snapshot_id)\nsnapshot = get_snapshot_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/snapshotIdUnqualified" } ], "patch": { "description": "This request updates a snapshot with the information in a provided snapshot patch.\nThe snapshot consistency group patch object is structured in the same way as a retrieved\nsnapshot and contains only the information to be updated.", "operationId": "update_snapshot", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContext" } ], "requestBody": { "content": { "application/merge-patch+json": { "example": { "name": "my-snapshot-updated" }, "schema": { "$ref": "#/components/schemas/SnapshotPatch" } } }, "description": "The snapshot patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "bootable": true, "captured_at": "2025-01-28T13:44:51Z", "clones": [], "copies": [], "created_at": "2025-01-28T13:42:31Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "deletable": true, "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "minimum_capacity": 100, "name": "my-snapshot-updated", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "progress": 100, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot", "service_tags": [], "size": 1, "source_image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "source_volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "storage_generation": 1, "user_tags": [] }, "schema": { "$ref": "#/components/schemas/Snapshot" } } }, "description": "The snapshot was updated successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid snapshot patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The snapshot patch conflicts with another snapshot patch in the region." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the snapshot" } }, "summary": "Update a snapshot", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.update" }, { "description": "Required if `allowed_use` is specified.", "name": "is.snapshot.snapshot.manage-allowed-use" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/snapshots/$snapshot_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-snapshot-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "name := \"my-snapshot-updated\"\nsnapshotPatchModel := &vpcv1.SnapshotPatch{\n Name: &name,\n}\nsnapshotPatchModelAsPatch, asPatchErr := snapshotPatchModel.AsPatch()\n\noptions := &vpcv1.UpdateSnapshotOptions{\n ID: &snapshotID,\n SnapshotPatch: snapshotPatchModelAsPatch,\n}\nsnapshot, response, err := vpcService.UpdateSnapshot(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "SnapshotPatch snapshotPatchModel = new SnapshotPatch.Builder()\n .name(\"my-snapshot-updated\")\n .build();\nMap snapshotPatchModelAsPatch = snapshotPatchModel.asPatch();\n\nUpdateSnapshotOptions updateSnapshotOptions = new UpdateSnapshotOptions.Builder()\n .id(snapshotID)\n .snapshotPatch(snapshotPatchModelAsPatch)\n .build();\n\nResponse response = service.updateSnapshot(updateSnapshotOptions).execute();\nSnapshot snapshotResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: snapshotID,\n name: 'my-snapshot-updated',\n};\nconst response = await vpcService.updateSnapshot(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "snapshot_patch_model = {}\nsnapshot_patch_model['name'] = 'my-snapshot-updated'\n\nupdate_snapshot_response = vpc_service.update_snapshot(\n snapshot_id, snapshot_patch=snapshot_patch_model)\n\nresponse = update_snapshot_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/snapshots/{id}/clones": { "get": { "description": "This request lists clones for a snapshot. Use a clone to quickly restore a\nsnapshot within the clone's zone.", "operationId": "list_snapshot_clones", "responses": { "200": { "content": { "application/json": { "example": { "clones": [ { "available": true, "created_at": "2025-01-23T20:23:12.000Z", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ] }, "schema": { "$ref": "#/components/schemas/SnapshotCloneCollection" } } }, "description": "The snapshot clones were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot with the specified identifier could not be found." } }, "summary": "List clones for a snapshot", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot-clone.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/snapshots/$snapshot_id/clones?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListSnapshotClonesOptions{\n ID: &snapshotID,\n}\nclones, response, err := vpcService.ListSnapshotClones(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListSnapshotClonesOptions listSnapshotClonesOptions = new ListSnapshotClonesOptions.Builder()\n .id(snapshotID)\n .build();\n\nResponse response = service.listSnapshotClones(listSnapshotClonesOptions).execute();\n\nSnapshotCloneCollection snapshotCloneCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listSnapshotClones({ id: snapshotID });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_snapshot_clones(snapshot_id)\nclones = response.get_result()['clones']" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/snapshotIdUnqualified" } ] }, "/snapshots/{id}/clones/{zone_name}": { "delete": { "description": "This request deletes a snapshot clone. This operation cannot be reversed,\nbut an equivalent clone may be recreated from the snapshot.", "operationId": "delete_snapshot_clone", "responses": { "202": { "description": "The snapshot clone deletion request was accepted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot clone with the specified identifier could not be found." } }, "summary": "Delete a snapshot clone", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot-clone.delete" }, { "description": "Generated if a snapshot clone is deleted.", "name": "is.snapshot.snapshot.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot-clone.delete" }, { "name": "is.snapshot.snapshot.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/snapshots/$snapshot_id/clones/$zone_name?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteSnapshotCloneOptions{\n ID: &snapshotID,\n ZoneName: &zoneName,\n}\nresponse, err := vpcService.DeleteSnapshotClone(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteSnapshotCloneOptions deleteSnapshotCloneOptions = new DeleteSnapshotCloneOptions.Builder()\n .id(snapshotID)\n .zoneName(zoneName)\n .build();\n\nResponse response = service.deleteSnapshotClone(deleteSnapshotCloneOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteSnapshotClone({ id: snapshotID, zoneName: zoneName });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_snapshot_clone(snapshot_id, zone_name)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single clone specified by the snapshot identifier and zone name\nin the URL.", "operationId": "get_snapshot_clone", "responses": { "200": { "content": { "application/json": { "example": { "available": true, "created_at": "2025-01-23T20:23:12.000Z", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/SnapshotClone" } } }, "description": "The snapshot clone was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot clone with the specified identifier could not be found." } }, "summary": "Retrieve a snapshot clone", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot-clone.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/snapshots/$snapshot_id/clones/$zone_name?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetSnapshotCloneOptions{\n ID: &snapshotID,\n ZoneName: &zoneName,\n}\nclone, response, err := vpcService.GetSnapshotClone(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSnapshotCloneOptions getSnapshotCloneOptions = new GetSnapshotCloneOptions.Builder()\n .id(snapshotID)\n .zoneName(zoneName)\n .build();\n\nResponse response = service.getSnapshotClone(getSnapshotCloneOptions).execute();\nSnapshotClone snapshotClone = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSnapshotClone({ id: snapshotID, zoneName: zoneName });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_snapshot_clone(snapshot_id, zone_name)\nclone = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/snapshotIdUnqualified" }, { "$ref": "#/components/parameters/zoneName" } ], "put": { "description": "This request creates a new clone for a snapshot in the specified zone. A request body is\nnot required, and if provided, is ignored. If the snapshot already has a clone in the\nzone, it is returned.", "operationId": "create_snapshot_clone", "responses": { "200": { "content": { "application/json": { "example": { "available": true, "created_at": "2025-01-23T20:23:12.000Z", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/SnapshotClone" } } }, "description": "The snapshot clone was retrieved successfully." }, "201": { "content": { "application/json": { "example": { "available": false, "created_at": "2025-01-23T20:23:12.000Z", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/SnapshotClone" } } }, "description": "The snapshot clone was created successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot or zone with the specified identifier could not be found." } }, "summary": "Create a clone for a snapshot", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot-clone.create" }, { "description": "Generated if a snapshot clone is created.", "name": "is.snapshot.snapshot.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot-clone.create" }, { "name": "is.snapshot.snapshot.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/snapshots/$snapshot_id/clones/$zone_name?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateSnapshotCloneOptions{\n ID: &snapshotID,\n ZoneName: &zoneName,\n}\nclone, response, err := vpcService.CreateSnapshotClone(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CreateSnapshotCloneOptions createSnapshotCloneOptions = new CreateSnapshotCloneOptions.Builder()\n .id(snapshotID)\n .zoneName(zoneName)\n .build();\n\nResponse response = service.createSnapshotClone(createSnapshotCloneOptions).execute();\nSnapshotClone snapshotClone = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: snapshotID,\n zoneName: zoneName,\n};\nconst response = await vpcService.createSnapshotClone(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "create_snapshot_clone_response = vpc_service.create_snapshot_clone(\n snapshot_id, zone_name)\n\nresponse = create_snapshot_clone_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/snapshots/{id}/instance_profiles": { "get": { "description": "This request lists instance profiles compatible with a snapshot's\n`allowed_use.instance`, `operating_system.architecture` and\n`operating_system.user_data_format` properties, sorted by ascending `name` property values.\nThe specified snapshot must be bootable.", "operationId": "list_snapshot_instance_profiles", "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/{id}/instance_profiles?limit=50" }, "instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-2x8", "name": "bx2-2x8", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-8x32", "name": "bx2-8x32", "resource_type": "instance_profile" } ], "limit": 50, "total_count": 3 }, "schema": { "$ref": "#/components/schemas/SnapshotInstanceProfileCollection" } } }, "description": "The instance profiles were retrieved successfully" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The snapshot with the specified identifier is not bootable." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A snapshot with the specified identifier could not be found." } }, "summary": "List instance profiles compatible with a snapshot", "tags": [ "Snapshots" ], "x-ibm-events": { "events": [ { "name": "is.snapshot.snapshot.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.snapshot.snapshot.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/snapshots/$snapshot_id/instance_profiles?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listSnapshotInstanceProfilesOptions := &vpcv1.ListSnapshotInstanceProfilesOptions{\n SnapshotID: &snapshotID,\n}\n\nsnapshotInstanceProfiles, response, err := vpcService.ListSnapshotInstanceProfiles(listSnapshotInstanceProfilesOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "listSnapshotInstanceProfilesOptions = new ListSnapshotInstanceProfilesOptions.Builder()\n .snapshotId(snapshotId)\n .build();\n\nResponse response = service.listSnapshotInstanceProfiles(listSnapshotInstanceProfilesOptions).execute();\nInstanceProfileCollection snapshotInstanceProfileCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: snapshotId,\n};\nconst response = await vpcService.listSnapshotInstanceProfiles(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_snapshot_instance_profiles_(\n snapshot_id=snapshotId\n)\ninstance_profile_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/snapshotIdUnqualified" }, { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ] }, "/subnets": { "get": { "description": "This request lists subnets in the region. Subnets are contiguous ranges of IP addresses\nspecified in CIDR block notation. Each subnet is within a particular zone and cannot span\nmultiple zones or regions.", "operationId": "list_subnets", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceGroup" }, { "$ref": "#/components/parameters/zone" }, { "$ref": "#/components/parameters/vpc" }, { "$ref": "#/components/parameters/vpcByCRN" }, { "$ref": "#/components/parameters/vpcByName" }, { "description": "Filters the collection to subnets with a `routing_table.id` property matching the\nspecified identifier.", "in": "query", "name": "routing_table.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, { "description": "Filters the collection to subnets with a `routing_table.name` property matching the\nexact specified name.", "in": "query", "name": "routing_table.name", "required": false, "schema": { "example": "my-routing-table", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets?limit=20" }, "limit": 20, "subnets": [ { "available_ipv4_address_count": 251, "created_at": "2019-01-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "name": "my-subnet", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "available_ipv4_address_count": 251, "created_at": "2019-01-29T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "schema": { "$ref": "#/components/schemas/SubnetCollection" } } }, "description": "The subnets were retrieved successfully." } }, "summary": "List subnets", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.list" }, { "name": "is.subnet.subnet.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/subnets?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListSubnetsOptions{}\nsubnets, response, err := vpcService.ListSubnets(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListSubnetsOptions listSubnetsOptions = new ListSubnetsOptions.Builder()\n .build();\n\nResponse response = service.listSubnets(listSubnetsOptions).execute();\nSubnetCollection subnetCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listSubnets();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_subnets()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new subnet from a subnet prototype object. The prototype object\nis structured in the same way as a retrieved subnet, and contains the information\nnecessary to create the new subnet. For this request to succeed, the prototype's CIDR\nblock must not overlap with an existing subnet in the VPC.", "operationId": "create_subnet", "requestBody": { "content": { "application/json": { "example": { "total_ipv4_address_count": 256, "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "zone": { "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/SubnetPrototype" } } }, "description": "The subnet prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "available_ipv4_address_count": 251, "created_at": "2019-01-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "name": "my-subnet", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Subnet" } } }, "description": "The subnet was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid subnet prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The subnet prototype object conflicts with another subnet in the VPC, or specifies\na CIDR block outside of the VPC's address prefixes." } }, "summary": "Create a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.create" }, { "name": "is.vpc.vpc.operate" }, { "description": "Required when `public_gateway` is specified", "name": "is.public-gateway.public-gateway.operate" }, { "name": "is.network-acl.network-acl.operate" }, { "name": "is.vpc.routing-table.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/subnets?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-subnet-1\",\n \"ipv4_cidr_block\": \"10.0.1.0/24\",\n \"ip_version\": \"ipv4\",\n \"zone\": { \"name\": \"us-south-1\" },\n \"vpc\": { \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\" }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateSubnetOptions{}\noptions.SetSubnetPrototype(&vpcv1.SubnetPrototype{\n Ipv4CidrBlock: &cidrBlock,\n Name: &name,\n Vpc: &vpcv1.VPCIdentity{\n ID: &vpcID,\n },\n Zone: &vpcv1.ZoneIdentity{\n Name: &zone,\n },\n})\nsubnet, response, err := vpcService.CreateSubnet(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n .id(vpcId)\n .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n .name(zoneName)\n .build();\nSubnetPrototypeSubnetByTotalCount subnetPrototypeModel = new SubnetPrototypeSubnetByTotalCount.Builder()\n .vpc(vpcIdentityModel)\n .name(\"my-subnet\")\n .totalIpv4AddressCount(Long.valueOf(\"256\"))\n .zone(zoneIdentityModel)\n .build();\nCreateSubnetOptions createSubnetOptions = new CreateSubnetOptions.Builder()\n .subnetPrototype(subnetPrototypeModel)\n .build();\n\nResponse response = service.createSubnet(createSubnetOptions).execute();\nSubnet subnet = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const vpcIdentityModel = {\n id: vpcID,\n};\n\nconst zoneIdentityModel = {\n name: zoneName,\n};\n\nconst subnetPrototypeModel = {\n name: 'my-subnet',\n ip_version: 'ipv4',\n vpc: vpcIdentityModel,\n ipv4_cidr_block: '10.235.0.0/24',\n zone: zoneIdentityModel,\n};\n\nconst params = {\n subnetPrototype: subnetPrototypeModel,\n};\n\nconst response = await vpcService.createSubnet(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "network_acl_identity_model = {}\nnetwork_acl_identity_model['id'] = network_acl_id\n\npublic_gateway_identity_model = {}\npublic_gateway_identity_model['id'] = public_gateway_id\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nvpc_identity_model = {}\nvpc_identity_model['id'] = vpc_id\n\nzone_identity_model = {}\nzone_identity_model['name'] = zoneName\n\nsubnet_prototype_model = {}\nsubnet_prototype_model['ip_version'] = 'both'\nsubnet_prototype_model['name'] = 'my-subnet'\nsubnet_prototype_model['network_acl'] = network_acl_identity_model\nsubnet_prototype_model['public_gateway'] = public_gateway_identity_model\nsubnet_prototype_model['resource_group'] = resource_group_identity_model\nsubnet_prototype_model['vpc'] = vpc_identity_model\nsubnet_prototype_model['total_ipv4_address_count'] = 256\nsubnet_prototype_model['ipv4_cidr_block'] = '10.245.0.0/24'\nsubnet_prototype_model['zone'] = zone_identity_model\n\nsubnet_prototype = subnet_prototype_model\n\nresponse = service.create_subnet(subnet_prototype)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/subnets/{id}": { "delete": { "description": "This request deletes a subnet. This operation cannot be reversed. For this request to\nsucceed, the subnet must not be referenced by any bare metal server network interfaces,\ninstance network interfaces, virtual network interfaces, VPN gateways, or\nload balancers. A delete operation automatically detaches the subnet from any network\nACLs, public gateways, or endpoint gateways. All flow log collectors with `auto_delete`\nset to `true` targeting the subnet or any resource in the subnet are automatically\ndeleted.", "operationId": "delete_subnet", "responses": { "204": { "description": "The subnet was deleted successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A subnet with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The subnet is in use and cannot be deleted." } }, "summary": "Delete a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "description": "Generated for each resource that was attached to this subnet:\n- a flow log collector\n- a public gateway\n- a network ACL\n- a routing table", "name": "is.subnet.subnet.detach" }, { "description": "Generated when the subnet has `public_gateway` set.", "name": "is.public-gateway.public-gateway.detach" }, { "name": "is.network-acl.network-acl.detach" }, { "name": "is.vpc.routing-table.detach" }, { "description": "Generated when a flow log collector that had `auto_delete` set to `true` was\nattached to the subnet.", "name": "is.flow-log-collector.flow-log-collector.delete" }, { "description": "Generated when a flow log collector was attached to the subnet", "name": "is.flow-log-collector.flow-log-collector.detach" }, { "name": "is.subnet.subnet.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteSubnetOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeleteSubnet(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteSubnetOptions deleteSubnetOptions = new DeleteSubnetOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.deleteSubnet(deleteSubnetOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteSubnet({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_subnet(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single subnet specified by the identifier in the URL.", "operationId": "get_subnet", "responses": { "200": { "content": { "application/json": { "example": { "available_ipv4_address_count": 251, "created_at": "2019-01-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "name": "my-subnet", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Subnet" } } }, "description": "The subnet was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A subnet with the specified identifier could not be found." } }, "summary": "Retrieve a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetSubnetOptions{}\noptions.SetID(subnetId)\nsubnet, response, err := vpcService.GetSubnet(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSubnetOptions getSubnetOptions = new GetSubnetOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getSubnet(getSubnetOptions).execute();\nSubnet subnet = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSubnet({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_subnet(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/subnetIdUnqualified" } ], "patch": { "description": "This request updates a subnet with the information in a provided subnet patch. The subnet\npatch object is structured in the same way as a retrieved subnet and contains only the\ninformation to be updated.", "operationId": "update_subnet", "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/SubnetPatch" } } }, "description": "The subnet patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "available_ipv4_address_count": 251, "created_at": "2019-01-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "name": "my-subnet-updated", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Subnet" } } }, "description": "The subnet was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid subnet patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A subnet with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The subnet patch conflicts with another subnet in the VPC." } }, "summary": "Update a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.update" }, { "description": "Required when `public_gateway` is specified", "name": "is.public-gateway.public-gateway.operate" }, { "description": "Required when `network_acl` is specified", "name": "is.network-acl.network-acl.operate" }, { "description": "Required when `routing_table` is changed", "name": "is.vpc.routing-table.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-subnet-1-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateSubnetOptions{}\noptions.SetID(id)\noptions.SetName(name)\nsubnet, response, err := vpcService.UpdateSubnet(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateSubnetOptions updateSubnetOptions = new UpdateSubnetOptions.Builder()\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateSubnet(updateSubnetOptions).execute();\nSubnet subnet = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.updateSubnet({ id, name: 'my-subnet' });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "network_acl_identity_model = {}\nnetwork_acl_identity_model['id'] = network_acl_id\n\npublic_gateway_identity_model = {}\npublic_gateway_identity_model['id'] = public_gateway_id\n\nname = 'my-subnet'\nnetwork_acl = network_acl_identity_model\npublic_gateway = public_gateway_identity_model\n\nresponse = service.update_subnet(\n id,\n name=name,\n network_acl=network_acl,\n public_gateway=public_gateway,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/subnets/{id}/network_acl": { "get": { "description": "This request retrieves the network ACL attached to the subnet specified by the identifier in\nthe URL.", "operationId": "get_subnet_network_acl", "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2024-12-12T09:24:17Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T04:21:14Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "id": "r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/NetworkACL" } } }, "description": "The attached network ACL was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified subnet could not be found." } }, "summary": "Retrieve a subnet's attached network ACL", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.read" }, { "name": "is.network-acl.network-acl.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/network_acl?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetSubnetNetworkACLOptions{}\noptions.SetID(subnetId)\nacls, response, err := vpcService.GetSubnetNetworkAcl(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSubnetNetworkAclOptions getSubnetNetworkAclOptions = new GetSubnetNetworkAclOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getSubnetNetworkAcl(getSubnetNetworkAclOptions).execute();\nNetworkACL networkAcl = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSubnetNetworkAcl({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_subnet_network_acl(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/subnetIdUnqualified" } ], "put": { "description": "This request replaces the existing network ACL for a subnet with the network ACL specified\nin the request body.", "operationId": "replace_subnet_network_acl", "requestBody": { "content": { "application/json": { "example": { "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf" }, "schema": { "$ref": "#/components/schemas/NetworkACLIdentity" } } }, "description": "The network ACL identity", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "created_at": "2024-12-12T09:24:17Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T04:21:14Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "id": "r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/NetworkACL" } } }, "description": "The network ACL was attached successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid request body was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A subnet with the specified identifier could not be found." } }, "summary": "Replace the network ACL for a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.network-acl.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.operate" }, { "name": "is.network-acl.network-acl.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/network_acl?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"\n\n-d '{ \"id\":\"r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ReplaceSubnetNetworkACLOptions{}\noptions.SetID(subnetId)\noptions.SetNetworkACLIdentity(&vpcv1.NetworkACLIdentity{ID: &id})\nacl, response, err := vpcService.ReplaceSubnetNetworkACL(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "NetworkACLIdentityById networkAclIdentityModel = new NetworkACLIdentityById.Builder()\n .id(networkAclId)\n .build();\nReplaceSubnetNetworkAclOptions replaceSubnetNetworkAclOptions = new ReplaceSubnetNetworkAclOptions.Builder()\n .id(id)\n .networkAclIdentity(networkAclIdentityModel)\n .build();\n\nResponse response = service.replaceSubnetNetworkAcl(replaceSubnetNetworkAclOptions).execute();\nNetworkACL networkAcl = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id,\n networkAclIdentity: {\n id: aclID,\n },\n};\n\nconst response = await vpcService.replaceSubnetNetworkAcl(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "network_acl_identity_model = {}\nnetwork_acl_identity_model['id'] = network_acl_id\n\nnetwork_acl_identity = network_acl_identity_model\n\nresponse = service.replace_subnet_network_acl(\n id, network_acl_identity)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/subnets/{id}/public_gateway": { "delete": { "description": "This request detaches the public gateway from the subnet specified by the subnet identifier\nin the URL.", "operationId": "unset_subnet_public_gateway", "responses": { "204": { "description": "The public gateway was detached successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified subnet could not be found or has no public gateway." } }, "summary": "Detach a public gateway from a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.detach" }, { "name": "is.public-gateway.public-gateway.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.operate" }, { "name": "is.public-gateway.public-gateway.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/public_gateway?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UnsetSubnetPublicGatewayOptions{}\noptions.SetID(id)\nresponse, err := vpcService.UnsetSubnetPublicGateway(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UnsetSubnetPublicGatewayOptions unsetSubnetPublicGatewayOptions = new UnsetSubnetPublicGatewayOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.unsetSubnetPublicGateway(unsetSubnetPublicGatewayOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.unsetSubnetPublicGateway({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.unset_subnet_public_gateway(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves the public gateway attached to the subnet specified by the identifier\nin the URL.", "operationId": "get_subnet_public_gateway", "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2024-11-07T06:47:25Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "floating_ip": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "name": "my-public-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_gateway", "status": "available", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/PublicGateway" } } }, "description": "The attached public gateway was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified subnet could not be found or has no public gateway." } }, "summary": "Retrieve a subnet's attached public gateway", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.public-gateway.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.read" }, { "name": "is.public-gateway.public-gateway.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/public_gateway?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetSubnetPublicGatewayOptions{}\noptions.SetID(subnetId)\npublicGateway, response, err := vpcService.GetSubnetPublicGateway(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSubnetPublicGatewayOptions getSubnetPublicGatewayOptions = new GetSubnetPublicGatewayOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getSubnetPublicGateway(getSubnetPublicGatewayOptions).execute();\nPublicGateway publicGateway = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSubnetPublicGateway({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_subnet_public_gateway(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/subnetIdUnqualified" } ], "put": { "description": "This request attaches the public gateway, specified in the request body, to the subnet\nspecified by the subnet identifier in the URL. The public gateway must have the same VPC and\nzone as the subnet.", "operationId": "set_subnet_public_gateway", "requestBody": { "content": { "application/json": { "example": { "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241" }, "schema": { "$ref": "#/components/schemas/PublicGatewayIdentity" } } }, "description": "The public gateway identity", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "created_at": "2024-11-07T06:47:25Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "floating_ip": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "name": "my-public-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_gateway", "status": "available", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/PublicGateway" } } }, "description": "The public gateway was attached successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid request body was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A subnet with the specified identifier could not be found." } }, "summary": "Attach a public gateway to a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.attach" }, { "description": "Generated for the replaced public gateway (if any)", "name": "is.subnet.subnet.detach" }, { "description": "Generated for the replaced public gateway (if any)", "name": "is.public-gateway.public-gateway.detach" }, { "name": "is.public-gateway.public-gateway.attach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.operate" }, { "name": "is.public-gateway.public-gateway.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/public_gateway?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"id\": \"r006-dc5431ef-1fc6-4861-adc9-a59d077d1241\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.SetSubnetPublicGatewayOptions{}\noptions.SetID(subnetId)\noptions.SetPublicGatewayIdentity(&vpcv1.PublicGatewayIdentity{\n ID: &id,\n})\npublicGateway, response, err :=\n vpcService.SetSubnetPublicGateway(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "PublicGatewayIdentityById publicGatewayIdentityModel = new PublicGatewayIdentityById.Builder()\n .id(publicGatewayId)\n .build();\nSetSubnetPublicGatewayOptions setSubnetPublicGatewayOptions = new SetSubnetPublicGatewayOptions.Builder()\n .id(id)\n .publicGatewayIdentity(publicGatewayIdentityModel)\n .build();\n\nResponse response = service.setSubnetPublicGateway(setSubnetPublicGatewayOptions).execute();\nPublicGateway publicGateway = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id,\n publicGatewayIdentity: {\n id: publicGatewayId,\n },\n};\nconst response = await vpcService.setSubnetPublicGateway(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "public_gateway_identity_model = {}\npublic_gateway_identity_model['id'] = public_gateway_id\npublic_gateway_identity = public_gateway_identity_model\n\nresponse = service.set_subnet_public_gateway(\n id, public_gateway_identity)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/subnets/{id}/routing_table": { "get": { "description": "This request retrieves the routing table attached to the subnet specified by the identifier\nin the URL.", "operationId": "get_subnet_routing_table", "responses": { "200": { "content": { "application/json": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "schema": { "$ref": "#/components/schemas/RoutingTable" } } }, "description": "The attached routing table was retrieved successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified subnet could not be found." } }, "summary": "Retrieve a subnet's attached routing table", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.routing-table.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.read" }, { "description": "Required for the VPC with the attached routing table", "name": "is.vpc.routing-table.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/routing_table?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "routingTable, response, err := vpcService.GetSubnetRoutingTable(\n vpcService.NewGetSubnetRoutingTableOptions(subnetId))" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSubnetRoutingTableOptions getSubnetRoutingTableOptions = new GetSubnetRoutingTableOptions.Builder()\n .id(subnetID)\n .build();\n\nResponse response = service.getSubnetRoutingTable(getSubnetRoutingTableOptions).execute();\nRoutingTable routingTable = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSubnetRoutingTable({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "routing_table = vpc_service.get_subnet_routing_table(\n id=subnet_id).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/subnetIdUnqualified" } ], "put": { "description": "This request replaces the existing routing table for a subnet with the routing table\nspecified in the request body.\n\nFor this request to succeed, the routing table `route_direct_link_ingress`,\n`route_internet_ingress`, `route_transit_gateway_ingress`, and `route_vpc_zone_ingress`\nproperties must be `false`.", "operationId": "replace_subnet_routing_table", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoutingTableIdentity" } } }, "description": "The routing table identity", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "schema": { "$ref": "#/components/schemas/RoutingTable" } } }, "description": "The routing table was attached successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid request body was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A subnet with the specified identifier could not be found." } }, "summary": "Replace the routing table for a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.attach" }, { "description": "Generated for the replaced routing table", "name": "is.subnet.subnet.detach" }, { "description": "Generated for the replaced routing table", "name": "is.vpc.routing-table.detach" }, { "name": "is.vpc.routing-table.attach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.operate" }, { "description": "Required for the VPC with the routing table being replaced", "name": "is.vpc.routing-table.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/routing_table?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"\n-d '{ \"id\": \"r006-6885e83f-03b2-4603-8a86-db2a0f55c840\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "routingTableIdentityModel := &vpcv1.RoutingTableIdentityByID{\n ID: routingTableID,\n}\nreplaceSubnetRoutingTableOptions := vpcService.NewReplaceSubnetRoutingTableOptions(\n subnetId,\n routingTableIdentityModel,\n)\nroutingTable, response, err := vpcService.ReplaceSubnetRoutingTable(\n replaceSubnetRoutingTableOptions\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RoutingTableIdentityById routingTableIdentityModel = new RoutingTableIdentityById.Builder()\n .id(routingTableId)\n .build();\nReplaceSubnetRoutingTableOptions replaceSubnetRoutingTableOptions = new ReplaceSubnetRoutingTableOptions.Builder()\n .id(subnetId)\n .routingTableIdentity(routingTableIdentityModel)\n .build();\n\nResponse response = service.replaceSubnetRoutingTable(replaceSubnetRoutingTableOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const routingTableIdentityModel = {\n id: routingTableId,\n};\nconst params = {\n id,\n routingTableIdentity: routingTableIdentityModel,\n};\nconst response = await vpcService.replaceSubnetRoutingTable(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "routing_table_identity_model = {\n 'id': routing_table_id,\n}\n\nrouting_table = vpc_service.replace_subnet_routing_table(\n id=subnet_id,\n routing_table_identity=routing_table_identity_model).get_result(\n )" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/subnets/{subnet_id}/reserved_ips": { "get": { "description": "This request lists reserved IPs in a subnet. A reserved IP resource will\nexist for every address in the subnet which is not available for use.", "operationId": "list_subnet_reserved_ips", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "description": "Sorts the returned collection by the specified property name in ascending order. A `-` may\nbe prepended to the name to sort in descending order. For example, the value `-created_at`\nsorts the collection by the `created_at` property in descending order, and the value `name`\nsorts it by the `name` property in ascending order.", "in": "query", "name": "sort", "required": false, "schema": { "default": "address", "enum": [ "address", "created_at", "name" ], "example": "name", "type": "string" } }, { "$ref": "#/components/parameters/target" }, { "$ref": "#/components/parameters/targetByCRN" }, { "$ref": "#/components/parameters/targetByName" }, { "$ref": "#/components/parameters/targetByResourceType" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips?limit=50" }, "limit": 50, "reserved_ips": [ { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.1.20", "auto_delete": false, "created_at": "2024-10-14T19:52:18Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips/0717-9faf2f32-8528-4180-a14d-c1f6c5c83292", "id": "0717-9faf2f32-8528-4180-a14d-c1f6c5c83292", "lifecycle_state": "stable", "name": "my-reserved-ip-z1-2", "owner": "user", "resource_type": "subnet_reserved_ip" } ], "total_count": 2 }, "schema": { "$ref": "#/components/schemas/ReservedIPCollection" } } }, "description": "The reserved IPs were retrieved successfully." } }, "summary": "List reserved IPs in a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "description": "Generated for each reserved IP in the list.", "name": "is.subnet.reserved-ip.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/reserved_ips?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewListSubnetReservedIpsOptions(subnet_id)\nreservedIPs, response, err := vpcService.ListSubnetReservedIps(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListSubnetReservedIpsOptions listSubnetReservedIpsOptions = new ListSubnetReservedIpsOptions.Builder()\n .subnetId(subnetId)\n .build();\n\nResponse response = service.listSubnetReservedIps(listSubnetReservedIpsOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listSubnetReservedIps();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = _service.list_subnet_reserved_ips(subnet_id)\nreserved_ips = response.get_result()['reserved_ips']" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/subnetId" } ], "post": { "description": "This request reserves an IP address in a subnet. If the provided prototype object\nincludes an `address`, the address must not already be reserved.", "operationId": "create_subnet_reserved_ip", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReservedIPPrototype" } } }, "description": "The reserved IP prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip" }, "schema": { "$ref": "#/components/schemas/ReservedIP" } } }, "description": "The reserved IP was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid reserved IP prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The subnet has no available IP addresses, or the reserved IP prototype object\nspecifies an address that is already in use, or specifies a target that is already\nbound to a reserved IP in the subnet's zone." } }, "summary": "Reserve an IP in a subnet", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.reserved-ip.create" }, { "name": "is.subnet.subnet.update" }, { "description": "Generated when `target` specifies an endpoint gateway", "name": "is.endpoint-gateway.endpoint-gateway.attach" }, { "description": "Generated when `target` is specified", "name": "is.subnet.reserved-ip.attach" }, { "description": "Generated when `target` specifies a virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.attach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.update" }, { "description": "Required when `target` specifies an endpoint gateway", "name": "is.endpoint-gateway.endpoint-gateway.operate" }, { "description": "Required when `target` specifies a virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/reserved_ips?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-reserved-ip\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewCreateSubnetReservedIPOptions(subnet_id)\noptions.Name = &name\nreservedIP, response, err := vpcService.CreateSubnetReservedIP(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CreateSubnetReservedIpOptions createSubnetReservedIpOptions = new CreateSubnetReservedIpOptions.Builder()\n .subnetId(subnetId)\n .name(\"my-reserved-ip\")\n .build();\n\nResponse response = service.createSubnetReservedIp(createSubnetReservedIpOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.createSubnetReservedIp({\n subnetId,\n name: 'my-subnet-reserved-ip',\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.create_subnet_reserved_ip(subnet_id)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/subnets/{subnet_id}/reserved_ips/{id}": { "delete": { "description": "This request releases a reserved IP. This operation cannot be reversed.\n\nFor this request to succeed, the reserved IP must not be required by another resource,\nsuch as a bare metal server network interface, instance network interface or virtual\nnetwork interface for which it is the primary IP. A provider-owned reserved IP is not\nallowed to be deleted.", "operationId": "delete_subnet_reserved_ip", "responses": { "204": { "description": "The reserved IP was deleted successfully." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP is owned by the provider." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The reserved IP is in use and cannot be deleted." } }, "summary": "Delete a reserved IP", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.subnet.update" }, { "name": "is.subnet.reserved-ip.delete" }, { "description": "Generated when the reserved IP was attached", "name": "is.subnet.reserved-ip.detach" }, { "description": "Generated when `target` specified an endpoint gateway", "name": "is.endpoint-gateway.endpoint-gateway.detach" }, { "description": "Generated when `target` specified a virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/reserved_ips/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewDeleteSubnetReservedIPOptions(subnet_id, id)\nresponse, err := vpcService.DeleteSubnetReservedIP(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteSubnetReservedIpOptions deleteSubnetReservedIpOptions = new DeleteSubnetReservedIpOptions.Builder()\n .subnetId(subnetId)\n .id(id)\n .build();\n\nResponse response = service.deleteSubnetReservedIp(deleteSubnetReservedIpOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteSubnetReservedIp({\n subnetId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_subnet_reserved_ip(subnet_id, reserved_ip_id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single reserved IP specified by the identifier in the URL.", "operationId": "get_subnet_reserved_ip", "responses": { "200": { "content": { "application/json": { "example": { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip" }, "schema": { "$ref": "#/components/schemas/ReservedIP" } } }, "description": "The reserved IP was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP could not be found." } }, "summary": "Retrieve a reserved IP", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.reserved-ip.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/reserved_ips/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewGetSubnetReservedIPOptions(subnet_id, id)\nreservedIP, response, err := vpcService.GetSubnetReservedIP(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetSubnetReservedIpOptions getSubnetReservedIpOptions = new GetSubnetReservedIpOptions.Builder()\n .subnetId(subnetId)\n .id(id)\n .build();\n\nResponse response = service.getSubnetReservedIp(getSubnetReservedIpOptions).execute();\nReservedIP reservedIp = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getSubnetReservedIp({\n subnetId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_subnet_reserved_ip(subnet_id, reserved_ip_id)\nif response.status_code == 200:\n reserved_ip = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/subnetId" }, { "$ref": "#/components/parameters/reservedIPIdUnqualified" } ], "patch": { "description": "This request updates a reserved IP with the information in a provided reserved IP patch.\nThe reserved IP patch object is structured in the same way as a retrieved reserved IP\nand contains only the information to be updated.\n\nA provider-owned reserved IP is not allowed to be updated.", "operationId": "update_subnet_reserved_ip", "requestBody": { "content": { "application/merge-patch+json": { "example": { "name": "my-reserved-ip-updated" }, "schema": { "$ref": "#/components/schemas/ReservedIPPatch" } } }, "description": "The reserved IP patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-updated", "owner": "user", "resource_type": "subnet_reserved_ip" }, "schema": { "$ref": "#/components/schemas/ReservedIP" } } }, "description": "The reserved IP was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid reserved IP patch was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP is owned by the provider." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP is unbound and would be automatically deleted." } }, "summary": "Update a reserved IP", "tags": [ "Subnets" ], "x-ibm-events": { "events": [ { "name": "is.subnet.reserved-ip.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.subnet.subnet.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/subnets/$subnet_id/reserved_ips/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-reserved-ip-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewUpdateSubnetReservedIPOptions(subnet_id, id)\noptions.Name = &name\nreservedIP, response, err = vpcService.UpdateSubnetReservedIP(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateSubnetReservedIpOptions updateSubnetReservedIpOptions = new UpdateSubnetReservedIpOptions.Builder()\n .subnetId(subnetId)\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateSubnetReservedIp(updateSubnetReservedIpOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.updateSubnetReservedIp({\n subnetId,\n id,\n name: 'my-reserved-ip',\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "new_name = 'my-reserved-ip-updated'\nresponse = service.update_subnet_reserved_ip(\n subnet_id, reserved_ip_id, name=new_name)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/virtual_network_interfaces": { "get": { "description": "This request lists virtual network interfaces in the region. A virtual network\ninterface is a logical abstraction of a virtual network interface in a subnet, and may be\nattached to a target resource.\n\nThe virtual network interfaces will be sorted by their `created_at` property values, with\nnewest virtual network interfaces first. Virtual network interfaces with identical\n`created_at` property values will in turn be sorted by ascending `name` property values.", "operationId": "list_virtual_network_interfaces", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceGroup" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces?limit=20" }, "limit": 50, "total_count": 2, "virtual_network_interfaces": [ { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-15T03:24:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-23T03:23:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "id": "0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6B", "name": "my-virtual-network-interface-2", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ] }, "schema": { "$ref": "#/components/schemas/VirtualNetworkInterfaceCollection" } } }, "description": "The virtual network interfaces were retrieved successfully." } }, "summary": "List virtual network interfaces", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.list" }, { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVirtualNetworkInterfacesOptions := &vpcv1.ListVirtualNetworkInterfacesOptions{}\nvirtualNetworkInterfaceCollection, response, err := vpcService.ListVirtualNetworkInterfaces(listVirtualNetworkInterfacesOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVirtualNetworkInterfacesOptions listVirtualNetworkInterfacesOptions = new ListVirtualNetworkInterfacesOptions.Builder()\n.build();\n\nResponse response = vpcService.listVirtualNetworkInterfaces(listVirtualNetworkInterfacesOptions).execute();\nVirtualNetworkInterfaceCollection virtualNetworkInterfaceCollectionResult = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVirtualNetworkInterfaces();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_virtual_network_interfaces()\nvirtual_network_interface_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new virtual network interface from a virtual network interface\nprototype object. The prototype object is structured in the same way as a retrieved\nvirtual network interface, and contains the information necessary to create the new\nvirtual network interface.", "operationId": "create_virtual_network_interface", "requestBody": { "content": { "application/json": { "example": { "name": "my-virtual-network-interface", "subnet": { "id": "69e55145-cc7d-4d8e-9e1f-cc3fb60b1793" } }, "schema": { "$ref": "#/components/schemas/VirtualNetworkInterfacePrototype" } } }, "description": "The virtual network interface prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-15T03:24:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/VirtualNetworkInterface" } } }, "description": "The virtual network interface was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid virtual network interface prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The virtual network interface prototype object conflicts with another virtual\nnetwork interface in the VPC." } }, "summary": "Create a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.create" }, { "description": "Generated for each reserved IP being attached to the virtual network interface", "name": "is.virtual-network-interface.virtual-network-interface.attach" }, { "description": "Generated for each reserved IP created", "name": "is.subnet.reserved-ip.create" }, { "description": "Generated for each reserved IP created", "name": "is.subnet.subnet.update" }, { "description": "Generated for each reserved IP being attached to the virtual network interface", "name": "is.subnet.reserved-ip.attach" }, { "description": "Generated for each security group being attached to the virtual network interface", "name": "is.security-group.security-group.attach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.create" }, { "description": "Required when `allow_ip_spoofing` is `true`", "name": "is.virtual-network-interface.virtual-network-interface.manage-ip-spoofing" }, { "description": "Required when `enable_infrastructure_nat` is `false`", "name": "is.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat" }, { "description": "Required when `protocol_state_filtering_mode` is not `auto`", "name": "is.virtual-network-interface.virtual-network-interface.manage-protocol-state-filtering-mode" }, { "name": "is.security-group.security-group.operate" }, { "description": "Required for virtual network interfaces that specify an existing reserved IP on a\nsubnet", "name": "is.subnet.subnet.operate" }, { "description": "Required for virtual network interfaces that specify a new reserved IP on a subnet", "name": "is.subnet.subnet.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-network-interface\",\n \"subnet\": {\n \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "subnetIdentityModel := &vpcv1.SubnetIdentityByID{\n ID: &subnetId,\n}\ncreateVirtualNetworkInterfaceOptions := &vpcv1.CreateVirtualNetworkInterfaceOptions{\n Name: &[]string{\"my-virtual-network-interface\"}[0],\n Subnet: subnetIdentityModel,\n}\nvirtualNetworkInterface, response, err := vpcService.CreateVirtualNetworkInterface(createVirtualNetworkInterfaceOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "SubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n .id(subnetId)\n .build();\nCreateVirtualNetworkInterfaceOptions createVirtualNetworkInterfaceOptions = new CreateVirtualNetworkInterfaceOptions.Builder()\n .name(\"my-virtual-network-interface\")\n .subnet(subnetIdentityModel)\n .build();\n\nResponse response = vpcService.createVirtualNetworkInterface(createVirtualNetworkInterfaceOptions).execute();\nVirtualNetworkInterface virtualNetworkInterface = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const subnetIdentityModel = {\n id: subnetID,\n};\nconst params = {\n name: 'my-virtual-network-interface',\n subnet: subnetIdentityModel,\n};\nconst response = await vpcService.createVirtualNetworkInterface(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "subnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\nresponse = vpc_service.create_virtual_network_interface(\n name='my-virtual-network-interface',\n subnet=subnet_identity_model,\n)\nvirtual_network_interface = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/virtual_network_interfaces/{id}": { "delete": { "description": "This request deletes a virtual network interface. This operation cannot be reversed.\nFor this request to succeed, the virtual network interface must not be required by\nanother resource, such as the primary network attachment for an instance.", "operationId": "delete_virtual_network_interfaces", "responses": { "202": { "content": { "application/json": { "example": { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-15T03:24:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "deleting", "mac_address": "02:00:04:00:C4:6A", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/VirtualNetworkInterface" } } }, "description": "The virtual network interface deletion request was accepted." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified virtual network interface is owned by the provider." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified virtual network interface could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The virtual network interface is in use and cannot be deleted." } }, "summary": "Delete a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.delete" }, { "description": "Generated for resource being detached from the virtual network interface:\n- reserved IPs\n- security groups", "name": "is.virtual-network-interface.virtual-network-interface.detach" }, { "description": "Generated for each reserved IP that had `auto_delete` set to `true`", "name": "is.subnet.reserved-ip.delete" }, { "description": "Generated for each reserved IP that had `auto_delete` set to `true`", "name": "is.subnet.subnet.update" }, { "description": "Generated for each floating IP being detached from the virtual network interface", "name": "is.floating-ip.floating-ip.detach" }, { "description": "Generated for each reserved IP being detached from the virtual network interface", "name": "is.subnet.reserved-ip.detach" }, { "description": "Generated for each security group being detached from the virtual network interface", "name": "is.security-group.security-group.detach" }, { "description": "Generated when a flow log collector that had `auto_delete` set to `true` was attached\nto the virtual network interface", "name": "is.flow-log-collector.flow-log-collector.delete" }, { "description": "Generated if a flow log collector is detached from the virtual network interface", "name": "is.flow-log-collector.flow-log-collector.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteVirtualNetworkInterfacesOptions := &vpcv1.DeleteVirtualNetworkInterfacesOptions{\n ID: &virtualNetworkInterfaceId,\n}\nvirtualNetworkInterface, response, err := vpcService.DeleteVirtualNetworkInterfaces(deleteVirtualNetworkInterfacesOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVirtualNetworkInterfaceOptions deleteVirtualNetworkInterfaceOptions = new DeleteVirtualNetworkInterfaceOptions.Builder()\n .id(virtualNetworkInterfaceId)\n .build();\n\nResponse response = vpcService.DeleteVirtualNetworkInterface(deleteVirtualNetworkInterfaceOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: virtualNetworkInterfaceId,\n};\nconst response = await vpcService.deleteVirtualNetworkInterfaces(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_virtual_network_interfaces(\n id=virtualNetworkInterfaceId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single virtual network interface specified by the identifier in\nthe URL.", "operationId": "get_virtual_network_interface", "responses": { "200": { "content": { "application/json": { "example": { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-15T03:24:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/VirtualNetworkInterface" } } }, "description": "The virtual network interface was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified virtual network interface could not be found." } }, "summary": "Retrieve a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVirtualNetworkInterfaceOptions := &vpcv1.GetVirtualNetworkInterfaceOptions{\n ID: &virtualNetworkInterfaceId,\n}\nvirtualNetworkInterface, response, err := vpcService.GetVirtualNetworkInterface(getVirtualNetworkInterfaceOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVirtualNetworkInterfaceOptions getVirtualNetworkInterfaceOptions = new GetVirtualNetworkInterfaceOptions.Builder()\n .id(virtualNetworkInterfaceId)\n .build();\n\nResponse response = vpcService.getVirtualNetworkInterface(getVirtualNetworkInterfaceOptions).execute();\nVirtualNetworkInterface virtualNetworkInterface = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: virtualNetworkInterfaceId,\n};\n\nconst response = await vpcService.getVirtualNetworkInterface(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_virtual_network_interface(\n id=virtualNetworkInterfaceId,\n)\nvirtual_network_interface = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/virtualNetworkInterfaceIdUnqualified" } ], "patch": { "description": "This request updates a virtual network interface with the information in a provided\nvirtual network interface patch. The virtual network interface patch object is\nstructured in the same way as a retrieved virtual network interface and contains only\nthe information to be updated.", "operationId": "update_virtual_network_interface", "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/VirtualNetworkInterfacePatch" } } }, "description": "The virtual network interface patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-15T03:24:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-network-interface-updated", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/VirtualNetworkInterface" } } }, "description": "The virtual network interface was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid virtual network interface patch was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified virtual network interface is owned by the provider." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A virtual network interface with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The virtual network interface patch conflicts with another virtual network interface\nin the VPC, or following:\n\n - The virtual network interface's `allow_ip_spoofing` property cannot\n be `true` when `target` specifies a share mount target." } }, "summary": "Update a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.update" }, { "description": "Required when updating `allow_ip_spoofing` to or from `true`", "name": "is.virtual-network-interface.virtual-network-interface.manage-ip-spoofing" }, { "description": "Required when updating `enable_infrastructure_nat` to or from `false`", "name": "is.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat" }, { "description": "Required when `protocol_state_filtering_mode` is specified", "name": "is.virtual-network-interface.virtual-network-interface.manage-protocol-state-filtering-mode" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-network-interface-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "virtualNetworkInterfacePatchModel := &vpcv1.VirtualNetworkInterfacePatch{\n Name: &[]string{\"my-virtual-network-interface-updated\"}[0],\n}\nvirtualNetworkInterfacePatchModelAsPatch, asPatchErr := virtualNetworkInterfacePatchModel.AsPatch()\n\nupdateVirtualNetworkInterfaceOptions := &vpcv1.UpdateVirtualNetworkInterfaceOptions{\n ID: &virtualNetworkInterfaceId,\n VirtualNetworkInterfacePatch: virtualNetworkInterfacePatchModelAsPatch,\n}\n\nvirtualNetworkInterface, response, err := vpcService.UpdateVirtualNetworkInterface(updateVirtualNetworkInterfaceOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VirtualNetworkInterfacePatch virtualNetworkInterfacePatchModel = new VirtualNetworkInterfacePatch.Builder()\n .name(\"my-virtual-network-interface-updated\")\n .build();\nMap virtualNetworkInterfacePatchModelAsPatch = virtualNetworkInterfacePatchModel.asPatch();\nUpdateVirtualNetworkInterfaceOptions updateVirtualNetworkInterfaceOptions = new UpdateVirtualNetworkInterfaceOptions.Builder()\n .id(virtualNetworkInterfaceId)\n .virtualNetworkInterfacePatch(virtualNetworkInterfacePatchModelAsPatch)\n .build();\n\nResponse response = vpcService.updateVirtualNetworkInterface(updateVirtualNetworkInterfaceOptions).execute();\nVirtualNetworkInterface virtualNetworkInterface = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: virtualNetworkInterfaceId,\n name: 'my-virtual-network-interface-updated',\n};\n\nconst response = await vpcService.updateVirtualNetworkInterface(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "virtual_network_interface_patch_model = {\n 'name': 'my-virtual-network-interface-updated'\n}\n\nresponse = vpc_service.update_virtual_network_interface(\n id=virtualNetworkInterfaceId,\n virtual_network_interface_patch=virtual_network_interface_patch_model,\n)\nvirtual_network_interface = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/virtual_network_interfaces/{virtual_network_interface_id}/floating_ips": { "get": { "description": "This request lists floating IPs associated with a virtual network interface.", "operationId": "list_network_interface_floating_ips", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "description": "Sorts the returned collection by the specified property name in ascending order. A `-`\nmay be prepended to the name to sort in descending order. For example, the value\n`-name` sorts the collection by the `name` property in descending order, and the\nvalue `name` sorts it by the `name` property in ascending order.", "in": "query", "name": "sort", "required": false, "schema": { "default": "address", "enum": [ "address", "name" ], "example": "name", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef/floating_ips?limit=50" }, "floating_ips": [ { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" } ], "limit": 50, "total_count": 1 }, "schema": { "$ref": "#/components/schemas/FloatingIPCollectionVirtualNetworkInterfaceContext" } } }, "description": "The associated floating IPs were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A virtual network interface with the specified identifier could not be found." } }, "summary": "List floating IPs associated with a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/floating_ips?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listNetworkInterfaceFloatingIpsOptions := &vpcv1.ListNetworkInterfaceFloatingIpsOptions{\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nfloatingIpCollection, response, err := vpcService.ListNetworkInterfaceFloatingIps(listNetworkInterfaceFloatingIpsOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListNetworkInterfaceFloatingIpsOptions listNetworkInterfaceFloatingIpsOptions = new ListNetworkInterfaceFloatingIpsOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .build();\n\nResponse response = vpcService.listNetworkInterfaceFloatingIps(listNetworkInterfaceFloatingIpsOptions).execute();\nFloatingIPCollectionVirtualNetworkInterfaceContext floatingIpCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n};\nconst response = await vpcService.listNetworkInterfaceFloatingIps(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_network_interface_floating_ips(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n)\nfloating_ip_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/virtualNetworkInterfaceId" } ] }, "/virtual_network_interfaces/{virtual_network_interface_id}/floating_ips/{id}": { "delete": { "description": "This request disassociates the specified floating IP from the specified virtual network\ninterface", "operationId": "remove_network_interface_floating_ip", "responses": { "204": { "description": "The floating IP was disassociated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified floating IP could not be disassociated." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified floating IP is not associated with the virtual network interface\nwith the specified identifier" } }, "summary": "Disassociate a floating IP from a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.detach" }, { "name": "is.floating-ip.floating-ip.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.operate" }, { "name": "is.floating-ip.floating-ip.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "removeNetworkInterfaceFloatingIPOptions := &vpcv1.RemoveNetworkInterfaceFloatingIPOptions{\n ID: &floatingIpId,\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nresponse, err := vpcService.RemoveNetworkInterfaceFloatingIP(getNetworkInterfaceFloatingIPOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RemoveNetworkInterfaceFloatingIpOptions removeNetworkInterfaceFloatingIpOptions = new RemoveNetworkInterfaceFloatingIpOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .id(floatingIpId)\n .build();\n\nResponse response = vpcService.removeNetworkInterfaceFloatingIp(removeNetworkInterfaceFloatingIpOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n id: floatingIpId,\n};\nconst response = await vpcService.removeNetworkInterfaceFloatingIp(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.remove_network_interface_floating_ip(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n id=floatingIpId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a specified floating IP if it is associated with the\nvirtual network interface specified in the URL", "operationId": "get_network_interface_floating_ip", "responses": { "200": { "content": { "application/json": { "example": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "schema": { "$ref": "#/components/schemas/FloatingIPReference" } } }, "description": "The associated floating IP was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The floating IP is not associated with a virtual network interface with the\nspecified identifier" } }, "summary": "Retrieve associated floating IP", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getNetworkInterfaceFloatingIPOptions := &vpcv1.GetNetworkInterfaceFloatingIPOptions{\n ID: &floatingIpId,\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nfloatingIp, response, err := vpcService.GetNetworkInterfaceFloatingIP(getNetworkInterfaceFloatingIPOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetNetworkInterfaceFloatingIpOptions getNetworkInterfaceFloatingIpOptions = new GetNetworkInterfaceFloatingIpOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .id(floatingIpId)\n .build();\n\nResponse response = vpcService.getNetworkInterfaceFloatingIp(getNetworkInterfaceFloatingIpOptions).execute();\nFloatingIPReference floatingIp = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n id: floatingIpId,\n};\nconst response = await vpcService.getNetworkInterfaceFloatingIp(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_network_interface_floating_ip(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n id=floatingIpId,\n)\nfloating_ip = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/virtualNetworkInterfaceId" }, { "$ref": "#/components/parameters/floatingIPIdUnqualified" } ], "put": { "description": "This request adds an association between the specified floating IP and the specified\nvirtual network interface.\n\nIf the virtual network interface has `enable_infrastructure_nat` set to `true`, no more\nthan one floating IP can be associated, and network address translation is performed\nbetween the floating IP address and the virtual network interface's `primary_ip`\naddress.\n\nIf the virtual network interface has `enable_infrastructure_nat` set to `false`, packets\nare passed unchanged to/from the virtual network interface.\n\nThe floating IP must:\n- be in the same `zone` as the virtual network interface\n- not currently be associated with another resource\n\nThe virtual network interface's `target` must not currently be a file share mount\ntarget.\n\nA request body is not required, and if provided, is ignored.", "operationId": "add_network_interface_floating_ip", "responses": { "200": { "content": { "application/json": { "example": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "schema": { "$ref": "#/components/schemas/FloatingIPReference" } } }, "description": "The specified floating IP is already associated with the virtual network interface." }, "201": { "content": { "application/json": { "example": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "schema": { "$ref": "#/components/schemas/FloatingIPReference" } } }, "description": "The floating IP was successfully associated with the virtual network interface." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified floating IP could not be associated with the specified virtual network\ninterface." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified virtual network interface or floating IP could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The request specified one or more of:\n\n- a floating IP associated with another resource\n- a virtual network interface that has `enable_infrastructure_nat` set to `true` and\n another floating IP associated with it\n- a virtual network interface whose `target` is a file share mount target" } }, "summary": "Add an association between a floating IP and a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.attach" }, { "name": "is.floating-ip.floating-ip.attach" }, { "description": "Generated when a floating IP that was attached to a virtual network interface is\nreplaced", "name": "is.virtual-network-interface.virtual-network-interface.detach" }, { "description": "Generated when a floating IP that was attached to an instance network interface is\nreplaced", "name": "is.instance.network-interface.detach" }, { "description": "Generated when a floating IP that was attached to a bare metal server network\ninterface is replaced", "name": "is.bare-metal-server.network-interface.detach" }, { "description": "Generated when a floating IP that was attached to a resource is replaced", "name": "is.floating-ip.floating-ip.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.operate" }, { "name": "is.floating-ip.floating-ip.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "addNetworkInterfaceFloatingIPOptions := &vpcv1.AddNetworkInterfaceFloatingIPOptions{\n ID: &floatingIpId,\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nfloatingIp, response, err := vpcService.AddNetworkInterfaceFloatingIP(getNetworkInterfaceFloatingIPOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "AddNetworkInterfaceFloatingIpOptions addNetworkInterfaceFloatingIpOptions = new AddNetworkInterfaceFloatingIpOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .id(floatingIpId)\n .build();\n\nResponse response = vpcService.addNetworkInterfaceFloatingIp(addNetworkInterfaceFloatingIpOptions).execute();\nFloatingIPReference floatingIp = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n id: floatingIpId,\n};\nconst response = await vpcService.addNetworkInterfaceFloatingIp(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.add_network_interface_floating_ip(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n id=floatingIpId,\n)\nfloating_ip_reference = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/virtual_network_interfaces/{virtual_network_interface_id}/ips": { "get": { "description": "This request lists reserved IPs bound to a virtual network interface.", "operationId": "list_virtual_network_interface_ips", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "description": "Sorts the returned collection by the specified property name in ascending order. A `-`\nmay be prepended to the name to sort in descending order. For example, the value\n`-name` sorts the collection by the `name` property in descending order, and the\nvalue `name` sorts it by the `name` property in ascending order.", "in": "query", "name": "sort", "required": false, "schema": { "default": "address", "enum": [ "address", "name" ], "example": "name", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9/ips?limit=50" }, "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" } ], "limit": 50, "total_count": 2 }, "schema": { "$ref": "#/components/schemas/ReservedIPCollectionVirtualNetworkInterfaceContext" } } }, "description": "The reserved IPs were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A virtual network interface with the specified identifier could not be found." } }, "summary": "List reserved IPs bound to a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "description": "Generated for each reserved IP in the list.", "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/ips?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVirtualNetworkInterfaceIpsOptions := &vpcv1.ListVirtualNetworkInterfaceIpsOptions{\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nreservedIpCollection, response, err := vpcService.ListVirtualNetworkInterfaceIps(listVirtualNetworkInterfaceIpsOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVirtualNetworkInterfaceIpsOptions listVirtualNetworkInterfaceIpsOptions = new ListVirtualNetworkInterfaceIpsOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .build();\n\nResponse response = vpcService.listVirtualNetworkInterfaceIps(listVirtualNetworkInterfaceIpsOptions).execute();\nReservedIPCollectionVirtualNetworkInterfaceContext reservedIpCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n};\nconst response = await vpcService.listVirtualNetworkInterfaceIps(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_virtual_network_interface_ips(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n)\nreserved_ip_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/virtualNetworkInterfaceId" } ] }, "/virtual_network_interfaces/{virtual_network_interface_id}/ips/{id}": { "delete": { "description": "This request unbinds the specified reserved IP from the specified virtual network\ninterface. If the reserved IP has `auto_delete` set to `true`, the reserved IP will be\ndeleted.\n\nThe reserved IP for the `primary_ip` cannot be unbound.", "operationId": "remove_virtual_network_interface_ip", "responses": { "204": { "description": "The reserved IP was unbound successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The primary reserved IP address cannot be unbound." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP address is not associated with the virtual network interface\nwith the specified identifier" } }, "summary": "Unbind a reserved IP from a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.detach" }, { "name": "is.subnet.reserved-ip.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.operate" }, { "description": "Required for the subnet attached to the virtual network interface", "name": "is.subnet.subnet.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/ips/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "removeVirtualNetworkInterfaceIPOptions := &vpcv1.RemoveVirtualNetworkInterfaceIPOptions{\n ID: &reservedIpId,\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nresponse, err := vpcService.RemoveVirtualNetworkInterfaceIP(removeVirtualNetworkInterfaceIPOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RemoveVirtualNetworkInterfaceIpOptions removeVirtualNetworkInterfaceIpOptions = new RemoveVirtualNetworkInterfaceIpOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .id(reservedIpId)\n .build();\n\nResponse response = vpcService.removeVirtualNetworkInterfaceIp(removeVirtualNetworkInterfaceIpOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n id: reservedIpId,\n};\nconst response = await vpcService.removeVirtualNetworkInterfaceIp(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.remove_virtual_network_interface_ip(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n id=reservedIpId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves the specified reserved IP address if it is bound to the virtual\nnetwork interface specified in the URL.", "operationId": "get_virtual_network_interface_ip", "responses": { "200": { "content": { "application/json": { "example": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "schema": { "$ref": "#/components/schemas/ReservedIPReference" } } }, "description": "The associated reserved IP was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The reserved IP address with the specified identifier could not be found" } }, "summary": "Retrieve bound reserved IP", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/ips/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVirtualNetworkInterfaceIPOptions := &vpcv1.getVirtualNetworkInterfaceIPOptions{\n ID: &reservedIpId,\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nreservedIp, response, err := vpcService.GetVirtualNetworkInterfaceIP(getVirtualNetworkInterfaceIPOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVirtualNetworkInterfaceIpOptions getVirtualNetworkInterfaceIpOptions = new GetVirtualNetworkInterfaceIpOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .id(reservedIpId)\n .build();\n\nResponse response = vpcService.getVirtualNetworkInterfaceIp(getVirtualNetworkInterfaceIpOptions).execute();\nReservedIPReference reservedIp = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n id: reservedIpId,\n};\nconst response = await vpcService.getVirtualNetworkInterfaceIp(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_virtual_network_interface_ip(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n id=reservedIpId,\n)\nreserved_ip_reference = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/virtualNetworkInterfaceId" }, { "$ref": "#/components/parameters/reservedIPIdUnqualified" } ], "put": { "description": "This request binds the specified reserved IP to the specified virtual network interface.\n\nThe reserved IP must currently be unbound and in the primary IP's subnet.\nThe virtual network interface's `target` must not currently be a file share mount target.", "operationId": "add_virtual_network_interface_ip", "responses": { "200": { "content": { "application/json": { "example": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "schema": { "$ref": "#/components/schemas/ReservedIPReference" } } }, "description": "The specified reserved IP is already bound to the virtual network interface." }, "201": { "content": { "application/json": { "example": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "schema": { "$ref": "#/components/schemas/ReservedIPReference" } } }, "description": "The reserved IP was successfully bound to the virtual network interface." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified reserved IP is not in the primary IP's subnet." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A virtual network interface with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The request specified one or more of:\n\n- a bound reserved IP\n- a virtual network interface for a file share mount target and a reserved IP that is\n not the primary IP address" } }, "summary": "Bind a reserved IP to a virtual network interface", "tags": [ "Virtual network interfaces" ], "x-ibm-events": { "events": [ { "name": "is.virtual-network-interface.virtual-network-interface.attach" }, { "name": "is.subnet.reserved-ip.attach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.virtual-network-interface.virtual-network-interface.operate" }, { "description": "Required for the subnet attached to the virtual network interface", "name": "is.subnet.subnet.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/virtual_network_interfaces/$network_interface_id/ips/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "addVirtualNetworkInterfaceIPOptions := &vpcv1.AddVirtualNetworkInterfaceIPOptions{\n ID: &reservedIpId,\n VirtualNetworkInterfaceID: &virtualNetworkInterfaceId,\n}\nreservedIp, response, err := vpcService.AddVirtualNetworkInterfaceIP(addVirtualNetworkInterfaceIPOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "AddVirtualNetworkInterfaceIpOptions addVirtualNetworkInterfaceIpOptions = new AddVirtualNetworkInterfaceIpOptions.Builder()\n .virtualNetworkInterfaceId(virtualNetworkInterfaceId)\n .id(reservedIpId)\n .build();\n\nResponse response = vpcService.addVirtualNetworkInterfaceIp(addVirtualNetworkInterfaceIpOptions).execute();\nReservedIPReference reservedIpReference = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n virtualNetworkInterfaceId: virtualNetworkInterfaceId,\n id: reservedIpId,\n};\nconst response = await vpcService.addVirtualNetworkInterfaceIp(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.add_virtual_network_interface_ip(\n virtual_network_interface_id=virtualNetworkInterfaceId,\n id=reservedIpId,\n)\nreserved_ip_reference = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/volume/profiles": { "get": { "description": "This request lists [volume\nprofiles](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) available in the\nregion. A volume profile specifies the performance characteristics and pricing model for a\nvolume.", "operationId": "list_volume_profiles", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles?limit=50" }, "limit": 50, "profiles": [ { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "custom", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "iops": { "max": 48000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "custom", "storage_generation": { "type": "fixed", "value": 2 } }, { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 4800, "min": 10, "step": 1, "type": "dependent_range" }, "family": "tiered", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/10iops-tier", "iops": { "max": 48000, "min": 3000, "step": 1, "type": "dependent_range" }, "name": "10iops-tier", "storage_generation": { "type": "fixed", "value": 2 } }, { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 9600, "min": 10, "step": 1, "type": "dependent_range" }, "family": "tiered", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/5iops-tier", "iops": { "max": 48000, "min": 3000, "step": 1, "type": "dependent_range" }, "name": "5iops-tier", "storage_generation": { "type": "fixed", "value": 2 } }, { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "tiered", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose", "iops": { "max": 48000, "min": 3000, "step": 1, "type": "dependent_range" }, "name": "general-purpose", "storage_generation": { "type": "fixed", "value": 2 } } ], "total_count": 4 }, "schema": { "$ref": "#/components/schemas/VolumeProfileCollection" } } }, "description": "The volume profiles were retrieved successfully" } }, "summary": "List volume profiles", "tags": [ "Volumes" ], "x-ibm-events": { "events": [] }, "x-ibm-permissions": { "actions": [] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/volume/profiles?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListVolumeProfilesOptions{}\nprofiles, response, err := vpcService.ListVolumeProfiles(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVolumeProfilesOptions listVolumeProfilesOptions = new ListVolumeProfilesOptions.Builder()\n .build();\n\nResponse response = service.listVolumeProfiles(listVolumeProfilesOptions).execute();\nVolumeProfileCollection volumeProfileCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVolumeProfiles();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_volume_profiles()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ] }, "/volume/profiles/{name}": { "get": { "description": "This request retrieves a single volume profile specified by the name in the URL.", "operationId": "get_volume_profile", "parameters": [ { "description": "The volume profile name", "in": "path", "name": "name", "required": true, "schema": { "example": "10iops-tier", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "custom", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "iops": { "max": 48000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "custom", "storage_generation": { "type": "fixed", "value": 2 } }, "schema": { "$ref": "#/components/schemas/VolumeProfile" } } }, "description": "The volume profile was retrieved successfully" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A volume profile with the specified name could not be found." } }, "summary": "Retrieve a volume profile", "tags": [ "Volumes" ], "x-ibm-events": { "events": [] }, "x-ibm-permissions": { "actions": [] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/volume/profiles/$profile_name?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetVolumeProfileOptions{}\noptions.SetName(profileName)\nprofile, response, err := vpcService.GetVolumeProfile(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVolumeProfileOptions getVolumeProfileOptions = new GetVolumeProfileOptions.Builder()\n .name(volumeProfileName)\n .build();\n\nResponse response = service.getVolumeProfile(getVolumeProfileOptions).execute();\nVolumeProfile volumeProfile = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVolumeProfile({ profileName });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_volume_profile(name)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ] }, "/volumes": { "get": { "description": "This request lists volumes in the region. Volumes are network-connected block storage\ndevices that may be attached to one or more instances in the same region.", "operationId": "list_volumes", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "description": "Filters the collection to volumes with an `attachment_state` property matching the\nspecified value.", "in": "query", "name": "attachment_state", "required": false, "schema": { "$ref": "#/components/schemas/VolumeAttachmentState" } }, { "$ref": "#/components/parameters/encryption" }, { "$ref": "#/components/parameters/name" }, { "$ref": "#/components/parameters/operatingSystemFamily" }, { "$ref": "#/components/parameters/operatingSystemArchitecture" }, { "$ref": "#/components/parameters/resourceByTag" }, { "$ref": "#/components/parameters/zone" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes?limit=50" }, "limit": 50, "total_count": 3, "volumes": [ { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "attached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-07T23:16:53.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "iops": 1000, "name": "my-volume", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "unattached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-08T06:36:17Z", "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-9de3e18c-cec9-4cac-a64a-0bdfab21e9d4", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-9de3e18c-cec9-4cac-a64a-0bdfab21e9d4", "id": "r006-9de3e18c-cec9-4cac-a64a-0bdfab21e9d4", "iops": 1000, "name": "my-volume-2", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2", "name": "us-south-1", "zone": "us-south-2" } }, { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "unattached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-02T04:12:19Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-89ba05e9-6e35-4964-9747-7ae3f9b30303", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-89ba05e9-6e35-4964-9747-7ae3f9b30303", "id": "r006-89ba05e9-6e35-4964-9747-7ae3f9b30303", "iops": 1000, "name": "my-volume-3", "profile": { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "custom", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/5iops-tier", "iops": { "max": 48000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "5iops-tier", "storage_generation": { "type": "fixed", "value": 2 } }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ] }, "schema": { "$ref": "#/components/schemas/VolumeCollection" } } }, "description": "The volumes were retrieved successfully" } }, "summary": "List volumes", "tags": [ "Volumes" ], "x-ibm-events": { "events": [ { "name": "is.volume.volume.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.volume.volume.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/volumes?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListVolumesOptions{}\nvolumes, response, err := vpcService.ListVolumes(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVolumesOptions listVolumesOptions = new ListVolumesOptions.Builder()\n .build();\n\nResponse response = service.listVolumes(listVolumesOptions).execute();\nVolumeCollection volumeCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVolumes();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_volumes()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new volume from a volume prototype object. The prototype object is\nstructured in the same way as a retrieved volume, and contains the information necessary to\ncreate the new volume.", "operationId": "create_volume", "requestBody": { "content": { "application/json": { "example": { "capacity": 100, "name": "my-volume", "profile": { "name": "custom" }, "zone": { "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/VolumePrototype" } } }, "description": "The volume prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "unattached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-07T23:16:53.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "iops": 1000, "name": "my-volume", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "pending", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Volume" } } }, "description": "The volume was created successfully", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid volume prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The volume prototype object conflicts with another volume in the region, or\nthe volume prototype object specified an encryption key that cannot be used in its\ncurrent state." } }, "summary": "Create a volume", "tags": [ "Volumes" ], "x-ibm-events": { "events": [ { "name": "is.volume.volume.create" }, { "description": "Required when `source_snapshot` is specified.", "name": "is.snapshot.snapshot.operate" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.volume.volume.create" }, { "description": "Required when `source_snapshot` is specified and is in the calling account.", "name": "is.snapshot.snapshot.operate" }, { "description": "Required `source_snapshot` is specified and is in a different account.", "name": "is.volume.volume.allow-remote-account-snapshot-restore" }, { "description": "Required when `allowed_use` is specified.", "name": "is.volume.volume.manage-allowed-use" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/volumes?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-volume-4\",\n \"iops\": 3000,\n \"capacity\": 50,\n \"bandwidth\": 1000,\n \"zone\": {\n \"name\": \"us-south-1\"\n },\n \"profile\": {\n \"name\": \"sdp\"\n },\n \"encryption_key\": {\n \"crn\": \"crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179\"\n }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateVolumeOptions{}\noptions.SetVolumePrototype(&vpcv1.VolumePrototype{\n Capacity: &capacity,\n Zone: &vpcv1.ZoneIdentity{\n Name: &zoneName,\n },\n Profile: &vpcv1.VolumeProfileIdentity{\n Name: &profileName,\n },\n Name: &name,\n})\nvolume, response, err := vpcService.CreateVolume(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VolumeProfileIdentityByName volumeProfileIdentityModel = new VolumeProfileIdentityByName.Builder()\n .name(\"general-purpose\")\n .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n .name(zoneName)\n .build();\nVolumePrototypeVolumeByCapacity volumePrototypeModel = new VolumePrototypeVolumeByCapacity.Builder()\n .profile(volumeProfileIdentityModel)\n .zone(zoneIdentityModel)\n .capacity(Long.valueOf(\"100\"))\n .name(\"my-volume\")\n .build();\nCreateVolumeOptions createVolumeOptions = new CreateVolumeOptions.Builder()\n .volumePrototype(volumePrototypeModel)\n .build();\n\nResponse response = service.createVolume(createVolumeOptions).execute();\nVolume volume = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const volumePrototypeModel = {\n name: 'my-volume',\n profile: { name: 'general-purpose' },\n zone: { name: zoneName },\n capacity: 100,\n};\n\nconst params = {\n volumePrototype: volumePrototypeModel,\n};\nconst response = await vpcService.createVolume(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "resource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nvolume_profile_identity_model = {}\nvolume_profile_identity_model['name'] = 'general-purpose'\n\nzone_identity_model = {}\nzone_identity_model['name'] = zoneName\n\nvolume_prototype_model = {}\nvolume_prototype_model['iops'] = 10000\nvolume_prototype_model['name'] = 'my-volume'\nvolume_prototype_model['profile'] = volume_profile_identity_model\nvolume_prototype_model['resource_group'] = resource_group_identity_model\nvolume_prototype_model['zone'] = zone_identity_model\nvolume_prototype_model['capacity'] = 100\n\nvolume_prototype = volume_prototype_model\nresponse = service.create_volume(volume_prototype)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/volumes/{id}": { "delete": { "description": "This request deletes a volume. This operation cannot be reversed. For this request to\nsucceed, the volume must not be attached to any instances.", "operationId": "delete_volume", "parameters": [ { "$ref": "#/components/parameters/ifMatch" } ], "responses": { "204": { "description": "The volume was deleted successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A volume with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The volume is in use and cannot be deleted." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the volume" } }, "summary": "Delete a volume", "tags": [ "Volumes" ], "x-ibm-events": { "events": [ { "name": "is.volume.volume.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.volume.volume.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/volumes/$volume_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteVolumeOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeleteVolume(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVolumeOptions deleteVolumeOptions = new DeleteVolumeOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.deleteVolume(deleteVolumeOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVolume({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_volume(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single volume specified by the identifier in the URL.", "operationId": "get_volume", "responses": { "200": { "content": { "application/json": { "example": { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "attached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-07T23:16:53.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "iops": 1000, "name": "my-volume", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Volume" } } }, "description": "The volume was retrieved successfully", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A volume with the specified identifier could not be found." } }, "summary": "Retrieve a volume", "tags": [ "Volumes" ], "x-ibm-events": { "events": [ { "name": "is.volume.volume.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.volume.volume.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/volumes/$volume_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetVolumeOptions{}\noptions.SetID(volumeID)\nvolume, response, err := vpcService.GetVolume(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVolumeOptions getVolumeOptions = new GetVolumeOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getVolume(getVolumeOptions).execute();\nVolume volume = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVolume({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_volume(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/volumeIdUnqualified" } ], "patch": { "description": "This request updates a volume with the information in a provided volume patch. The volume\npatch object is structured in the same way as a retrieved volume and contains only the\ninformation to be updated.", "operationId": "update_volume", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContext" } ], "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/VolumePatch" } } }, "description": "The volume patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "attached", "bandwidth": 1000, "busy": false, "capacity": 1000, "created_at": "2024-10-07T23:16:53.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "iops": 1000, "name": "my-volume", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Volume" } } }, "description": "The volume was updated successfully", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid volume patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A volume with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The volume patch conflicts with another volume in the region." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the volume" } }, "summary": "Update a volume", "tags": [ "Volumes" ], "x-ibm-events": { "events": [ { "name": "is.volume.volume.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.volume.volume.update" }, { "description": "Required if `allowed_use` is specified.", "name": "is.volume.volume.manage-allowed-use" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/volumes/$volume_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-volume-4-update\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateVolumeOptions{}\noptions.SetID(id)\noptions.SetName(name)\nvolume, response, err := vpcService.UpdateVolume(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateVolumeOptions updateVolumeOptions = new UpdateVolumeOptions.Builder()\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateVolume(updateVolumeOptions).execute();\nVolume volume = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.updateVolume({ id, name: 'my-volume' });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.update_volume(\n id,\n name='my-volume',\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/volumes/{id}/instance_profiles": { "get": { "description": "This request lists instance profiles compatible with a volume's\n`allowed_use.instance`, `operating_system.architecture` and\n`operating_system.user_data_format` properties, sorted by ascending `name` property values.\nThe specified volume must be bootable (have an `operating_system` property).", "operationId": "list_volume_instance_profiles", "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/{id}/instance_profiles?limit=50" }, "instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-2x8", "name": "bx2-2x8", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-8x32", "name": "bx2-8x32", "resource_type": "instance_profile" } ], "limit": 50, "total_count": 3 }, "schema": { "$ref": "#/components/schemas/VolumeInstanceProfileCollection" } } }, "description": "The instance profiles were retrieved successfully" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The volume with the specified identifier is not bootable." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A volume with the specified identifier could not be found." } }, "summary": "List instance profiles compatible with a volume", "tags": [ "Volumes" ], "x-ibm-events": { "events": [ { "name": "is.volume.volume.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.volume.volume.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/volumes/$volume_id/instance_profiles?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVolumeInstanceProfilesOptions := &vpcv1.listVolumeInstanceProfilesOptions{\n VolumeID: &volumeID,\n}\n\nvolumeInstanceProfiles, response, err := vpcService.listVolumeInstanceProfiles(listVolumeInstanceProfilesOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "listVolumeInstanceProfilesOptions = new ListVolumeInstanceProfilesOptions.Builder()\n .volumeId(volumeId)\n .build();\n\nResponse response = service.listVolumeInstanceProfiles(listVolumeInstanceProfilesOptions).execute();\nInstanceProfileCollection volumeInstanceProfileCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: volumeId,\n};\nconst response = await vpcService.listVolumeInstanceProfiles(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_volume_instance_profiles_(\n volume_id=volumeId\n)\ninstance_profile_collection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/volumeIdUnqualified" }, { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ] }, "/vpcs": { "get": { "description": "This request lists VPCs in the region. A VPC is a virtual network that belongs to an\naccount and provides logical isolation from other networks. A VPC is made up of resources\nin one or more zones. VPCs are regional, and each VPC can contain resources in multiple\nzones in a region.", "operationId": "list_vpcs", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceGroup" }, { "description": "Filters the collection to VPCs with a `classic_access` property matching the specified\nvalue.", "in": "query", "name": "classic_access", "required": false, "schema": { "example": true, "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs?limit=20" }, "limit": 20, "total_count": 2, "vpcs": [ { "classic_access": false, "created_at": "2019-01-27T14:39:40Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "public_address_ranges": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" }, { "classic_access": false, "created_at": "2019-01-27T15:40:41Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-699c2624-29f3-4edf-b29c-4193ce52cfad", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-699c2624-29f3-4edf-b29c-4193ce52cfad", "id": "r006-699c2624-29f3-4edf-b29c-4193ce52cfad", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c/routing_tables/r006-cdc00ecf-0886-4ae0-82ef-b64c06a4856b", "id": "r006-cdc00ecf-0886-4ae0-82ef-b64c06a4856b", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-35e4a234-12d5-4446-a8f9-96eb8cb763bb", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-35e4a234-12d5-4446-a8f9-96eb8cb763bb", "id": "r006-35e4a234-12d5-4446-a8f9-96eb8cb763bb", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c", "id": "r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c", "name": "my-vpc-2", "public_address_ranges": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "id": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "name": "my-public-address-range", "resource_type": "public_address_range" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" } ] }, "schema": { "$ref": "#/components/schemas/VPCCollection" } } }, "description": "The VPCs were retrieved successfully." } }, "summary": "List VPCs", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.vpc.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.list" }, { "name": "is.vpc.vpc.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpcs?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVpcsOptions := &vpcv1.ListVpcsOptions{}\nvpcs, response, err := vpcService.ListVpcs(listVpcsOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpcsOptions listVpcsOptions = new ListVpcsOptions.Builder()\n .classicAccess(true)\n .build();\n\nResponse response = service.listVpcs(listVpcsOptions).execute();\nVPCCollection vpcCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpcs();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_vpcs()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new VPC from a VPC prototype object. The prototype object is\nstructured in the same way as a retrieved VPC, and contains the information necessary to\ncreate the new VPC.\n\nThe system will automatically create the following additional resources for the VPC:\n- Unless `address_prefix_management` is `manual`, a [default address\n prefix](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-address-prefix) for each zone\n- A [default network\n ACL](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-default-network-acl)\n- A [default routing\n table](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-default-routing-table)\n- A [default security\n group](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-default-security-group)", "operationId": "create_vpc", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VPCPrototype" } } }, "description": "The VPC prototype object", "required": false }, "responses": { "201": { "content": { "application/json": { "example": { "classic_access": false, "created_at": "2019-01-27T14:39:40Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "public_address_ranges": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" }, "schema": { "$ref": "#/components/schemas/VPC" } } }, "description": "The VPC was created successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPC prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPC prototype object conflicts with another VPC in the region." } }, "summary": "Create a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.vpc.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.create" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/vpcs?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-vpc-2\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateVPCOptions{}\noptions.SetResourceGroup(&vpcv1.ResourceGroupIdentity{\n ID: &resourceGroup,\n})\noptions.SetName(name)\nvpc, response, err = vpcService.CreateVPC(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CreateVpcOptions createVpcOptions = new CreateVpcOptions.Builder()\n .name(\"my-vpc\")\n .build();\n\nResponse response = service.createVpc(createVpcOptions).execute();\nVPC vpc = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.createVpc({ name: 'my-vpc' });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "resource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\naddress_prefix_management = 'manual'\nclassic_access = False\nname = 'my-vpc'\nresource_group = resource_group_identity_model\n\nresponse = service.create_vpc(\n address_prefix_management=address_prefix_management,\n classic_access=classic_access,\n name=name,\n resource_group=resource_group,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{id}": { "delete": { "description": "This request deletes a VPC. This operation cannot be reversed.\n\nFor this request to succeed:\n- Instances, subnets, public gateways, endpoint gateways, and private path service\n gateways must not reside in this VPC\n- The VPC must not be providing DNS resolution for any other VPCs\n- If `dns.enable_hub` is `true`, `dns.resolution_binding_count` must be zero\n\nAll security groups and network ACLs associated with the VPC are automatically deleted.\nAll flow log collectors with `auto_delete` set to `true` targeting the VPC or any\nresource in the VPC are automatically deleted. All public address ranges attached to\nthe VPC are automatically detached.", "operationId": "delete_vpc", "parameters": [ { "$ref": "#/components/parameters/ifMatch" } ], "responses": { "204": { "description": "The VPC was deleted successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPC with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPC is in use and cannot be deleted." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the VPC." } }, "summary": "Delete a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.vpc.delete" }, { "description": "Generated when a flow log collector that had `auto_delete` set to `true` was\nattached to the VPC", "name": "is.flow-log-collector.flow-log-collector.delete" }, { "description": "Generated when a flow log collector was attached to the VPC", "name": "is.flow-log-collector.flow-log-collector.detach" }, { "description": "Generated if a flow log collector was attached to the VPC, and for each public\naddress range that was attached to the VPC.", "name": "is.vpc.vpc.detach" }, { "description": "Generated for each public address range that was attached to the VPC.", "name": "is.public-address-range.public-address-range.detach" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteVpcOptions := &vpcv1.DeleteVPCOptions{}\ndeleteVpcOptions.SetID(id)\nresponse, err := vpcService.DeleteVPC(deleteVpcOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpcOptions deleteVpcOptions = new DeleteVpcOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.deleteVpc(deleteVpcOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVpc({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_vpc(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single VPC specified by the identifier in the URL.", "operationId": "get_vpc", "responses": { "200": { "content": { "application/json": { "example": { "classic_access": false, "created_at": "2019-01-27T14:39:40Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "public_address_ranges": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "id": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "name": "my-public-address-range", "resource_type": "public_address_range" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" }, "schema": { "$ref": "#/components/schemas/VPC" } } }, "description": "The VPC was retrieved successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPC with the specified identifier could not be found." } }, "summary": "Retrieve a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.vpc.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVpcOptions := &vpcv1.GetVPCOptions{}\ngetVpcOptions.SetID(id)\nvpc, response, err := vpcService.GetVPC(getVpcOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcOptions getVpcOptions = new GetVpcOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getVpc(getVpcOptions).execute();\nVPC vpc = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpc({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_vpc(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/vpcIdUnqualified" }, { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "patch": { "description": "This request updates a VPC with the information provided in a VPC patch object. The\npatch object is structured in the same way as a retrieved VPC and needs to contain\nonly the information to be updated.", "operationId": "update_vpc", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContext" } ], "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/VPCPatch" } } }, "description": "The VPC patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "classic_access": false, "created_at": "2019-01-27T14:39:40Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc-updated", "public_address_ranges": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "id": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "name": "my-public-address-range", "resource_type": "public_address_range" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" }, "schema": { "$ref": "#/components/schemas/VPC" } } }, "description": "The VPC was updated successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPC patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPC with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPC patch conflicts with another VPC in the region, or\nthe VPC patch has one or more of:\n\n- `dns.enable_hub` incompatible with `dns.resolution_binding_count`\n- `dns.enable_hub` incompatible with `allow_dns_resolution_binding` values for\n endpoint gateways residing in the VPC\n- `dns.resolver.type` incompatible with `dns.resolver.servers`\n- `dns.resolver.type` incompatible with `dns.resolver.vpc`" }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the VPC." } }, "summary": "Update a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.vpc.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-vpc-2-updated\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateVPCOptions{\n Name: &name,\n}\noptions.SetID(id)\nvpc, response, err := vpcService.UpdateVPC(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateVpcOptions updateVpcOptions = new UpdateVpcOptions.Builder()\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateVpc(updateVpcOptions).execute();\nVPC vpc = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.updateVpc({ id, name: 'my-vpc' });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.update_vpc(\n id,\n name='my-vpc',\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{id}/default_network_acl": { "get": { "description": "This request retrieves the default network ACL for the VPC specified by the identifier in\nthe URL. The default network ACL is applied to any new subnets in the VPC which do not\nspecify a network ACL.", "operationId": "get_vpc_default_network_acl", "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2024-12-11T06:26:17Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-3217cb8b-5368-452a-9399-a84f14fb539d", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d", "id": "r006-3217cb8b-5368-452a-9399-a84f14fb539d", "name": "mnemonic-ersatz-eatery-mythology", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-3d48a40c-7ae0-4383-8594-4409ead771da", "id": "r006-3d48a40c-7ae0-4383-8594-4409ead771da", "ip_version": "ipv4", "name": "allow-inbound", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/0ebfaf53-e925-4b27-9bfc-245780a40dd7", "id": "r006-0ebfaf53-e925-4b27-9bfc-245780a40dd7", "ip_version": "ipv4", "name": "allow-outbound", "protocol": "all", "source": "0.0.0.0/0" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/DefaultNetworkACL" } } }, "description": "The default network ACL was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." } }, "summary": "Retrieve a VPC's default network ACL", "tags": [ "VPCs" ], "x-ibm-events": { "events": [] }, "x-ibm-permissions": { "actions": [ { "name": "is.network-acl.network-acl.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/default_network_acl?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetVPCDefaultNetworkACLOptions{}\noptions.SetID(id)\ndefaultACL, response, err := vpcService.GetVPCDefaultNetworkACL(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcDefaultNetworkAclOptions getVpcDefaultNetworkAclOptions = new GetVpcDefaultNetworkAclOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getVpcDefaultNetworkAcl(getVpcDefaultNetworkAclOptions).execute();\nDefaultNetworkACL defaultNetworkAcl = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpcDefaultNetworkAcl({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_vpc_default_network_acl(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcIdUnqualified" } ] }, "/vpcs/{id}/default_routing_table": { "get": { "description": "This request retrieves the default routing table for the VPC specified by the identifier in\nthe URL. The default routing table is associated with any subnets in the VPC which have not\nbeen explicitly associated with another routing table.", "operationId": "get_vpc_default_routing_table", "responses": { "200": { "content": { "application/json": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "schema": { "$ref": "#/components/schemas/DefaultRoutingTable" } } }, "description": "The default routing table was retrieved successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." } }, "summary": "Retrieve a VPC's default routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/default_routing_table?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewGetVPCDefaultRoutingTableOptions(vpcId)\ndefaultRoutingTable, response, err := vpcService.GetVPCDefaultRoutingTable(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcDefaultRoutingTableOptions getVpcDefaultRoutingTableOptions = new GetVpcDefaultRoutingTableOptions.Builder()\n .id(vpcId)\n .build();\n\nResponse response = service.getVpcDefaultRoutingTable(getVpcDefaultRoutingTableOptions).execute();\nDefaultRoutingTable defaultRoutingTable = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpcDefaultRoutingTable({id});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "default_routing_table = vpc_service.get_vpc_default_routing_table(\n id=vpcId).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcIdUnqualified" } ] }, "/vpcs/{id}/default_security_group": { "get": { "description": "This request retrieves the default security group for the VPC specified by the identifier\nin the URL. Resources created in this VPC that allow a security group to be optionally\nspecified will use this security group by default.", "operationId": "get_vpc_default_security_group", "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2024-11-06T01:51:28Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "humble-effect-normal-repaint-yellow", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-ad713e2d-9a80-4218-85a2-1f192b41b2c4", "id": "r006-ad713e2d-9a80-4218-85a2-1f192b41b2c4", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "protocol": "all", "remote": { "cidr_block": "0.0.0.0/0" } }, { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-3efb1b4c-5685-4514-a40a-f42f23da8134", "id": "r006-3efb1b4c-5685-4514-a40a-f42f23da8134", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "protocol": "all", "remote": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "humble-effect-normal-repaint-yellow" } } ], "targets": [], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/DefaultSecurityGroup" } } }, "description": "The default security group was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." } }, "summary": "Retrieve a VPC's default security group", "tags": [ "VPCs" ], "x-ibm-events": { "events": [] }, "x-ibm-permissions": { "actions": [ { "name": "is.security-group.security-group.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/default_security_group?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetVPCDefaultSecurityGroupOptions{}\noptions.SetID(id)\ndefaultSG, response, err := vpcService.GetVPCDefaultSecurityGroup(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcDefaultSecurityGroupOptions getVpcDefaultSecurityGroupOptions = new GetVpcDefaultSecurityGroupOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getVpcDefaultSecurityGroup(getVpcDefaultSecurityGroupOptions).execute();\nDefaultSecurityGroup defaultSecurityGroup = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpcDefaultSecurityGroup({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_vpc_default_security_group(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcIdUnqualified" } ] }, "/vpcs/{vpc_id}/address_prefixes": { "get": { "description": "This request lists address pool prefixes for a VPC.", "operationId": "list_vpc_address_prefixes", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "content": { "application/json": { "example": { "address_prefixes": [ { "cidr": "10.240.0.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-68574057-c5e0-4675-ada4-99377d8f4789", "id": "r006-68574057-c5e0-4675-ada4-99377d8f4789", "is_default": true, "name": "my-vpc-address-prefix-zone-1", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "cidr": "10.240.64.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-3c65afd2-173f-49cc-b5ba-f81fddc399b5", "id": "r006-3c65afd2-173f-49cc-b5ba-f81fddc399b5", "is_default": true, "name": "my-vpc-address-prefix-zone-2", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2", "name": "us-south-2" } }, { "cidr": "10.240.128.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-f4e8c017-a335-4893-bc3d-454d4ad482da", "id": "r006-f4e8c017-a335-4893-bc3d-454d4ad482da", "is_default": true, "name": "my-vpc-address-prefix-zone-3", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3", "name": "us-south-3" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes?limit=20" }, "limit": 20, "total_count": 3 }, "schema": { "$ref": "#/components/schemas/AddressPrefixCollection" } } }, "description": "The address prefixes were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." } }, "summary": "List address prefixes for a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.address-prefix.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/address_prefixes?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVpcAddressPrefixesOptions :=\n &vpcv1.ListVPCAddressPrefixesOptions{}\nlistVpcAddressPrefixesOptions.SetVPCID(vpcID)\naddressPrefixes, response, err :=\n vpcService.ListVPCAddressPrefixes(listVpcAddressPrefixesOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpcAddressPrefixesOptions listVpcAddressPrefixesOptions = new ListVpcAddressPrefixesOptions.Builder()\n .vpcId(vpcId)\n .build();\n\nResponse response = service.listVpcAddressPrefixes(listVpcAddressPrefixesOptions).execute();\nAddressPrefixCollection addressPrefixCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpcAddressPrefixes({ vpcId });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_vpc_address_prefixes(vpc_id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" } ], "post": { "description": "This request creates a new prefix from a prefix prototype object. The prototype object is\nstructured in the same way as a retrieved prefix, and contains the information necessary to\ncreate the new prefix.", "operationId": "create_vpc_address_prefix", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddressPrefixPrototype" } } }, "description": "The prefix prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "cidr": "10.240.0.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-68574057-c5e0-4675-ada4-99377d8f4789", "id": "r006-68574057-c5e0-4675-ada4-99377d8f4789", "is_default": true, "name": "my-vpc-address-prefix-zone-1", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/AddressPrefix" } } }, "description": "The prefix was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid prefix prototype object was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The prefix prototype object conflicts with another prefix in the VPC." } }, "summary": "Create an address prefix for a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.address-prefix.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/address_prefixes?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-vpc-address-prefix-1\",\n \"cidr\": \"10.1.0.0/16\",\n \"zone\": {\n \"name\": \"us-south-1\"\n }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateVPCAddressPrefixOptions{}\noptions.SetVPCID(vpcID)\noptions.SetCidr(cidr)\noptions.SetName(name)\noptions.SetZone(&vpcv1.ZoneIdentity{\n Name: &zoneName,\n})\naddressPrefix, response, err := vpcService.CreateVPCAddressPrefix(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n .name(zoneName)\n .build();\nCreateVpcAddressPrefixOptions createVpcAddressPrefixOptions = new CreateVpcAddressPrefixOptions.Builder()\n .vpcId(vpcId)\n .cidr(\"10.0.0.0/24\")\n .zone(zoneIdentityModel)\n .name(\"my-vpc-address-prefix\")\n .build();\n\nResponse response = service.createVpcAddressPrefix(createVpcAddressPrefixOptions).execute();\nAddressPrefix addressPrefix = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpcId,\n cidr: '10.0.0.0/24',\n zone: { name: zoneName },\n name: 'my-vpc-address-prefix',\n};\n\nconst response = await vpcService.createVpcAddressPrefix(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "zone_identity_model = {}\nzone_identity_model['name'] = zoneName\ncidr = '10.0.0.0/24'\nzone = zone_identity_model\nis_default = True\nname = 'my-address-prefix'\n\nresponse = service.create_vpc_address_prefix(\n vpc_id,\n cidr,\n zone,\n is_default=is_default,\n name=name,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/address_prefixes/{id}": { "delete": { "description": "This request deletes a prefix. This operation cannot be reversed. The request will fail\nif any subnets use addresses from this prefix.", "operationId": "delete_vpc_address_prefix", "responses": { "204": { "description": "The address prefix was deleted successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An address prefix with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The address prefix is in use and cannot be deleted." } }, "summary": "Delete an address prefix", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.address-prefix.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/address_prefixes/$address_prefix_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteVpcAddressPrefixOptions :=\n &vpcv1.DeleteVPCAddressPrefixOptions{}\ndeleteVpcAddressPrefixOptions.SetVPCID(vpcID)\ndeleteVpcAddressPrefixOptions.SetID(addressPrefixID)\nresponse, err :=\n vpcService.DeleteVPCAddressPrefix(deleteVpcAddressPrefixOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpcAddressPrefixOptions deleteVpcAddressPrefixOptions = new DeleteVpcAddressPrefixOptions.Builder()\n .vpcId(vpcId)\n .id(id)\n .build();\n\nResponse response = service.deleteVpcAddressPrefix(deleteVpcAddressPrefixOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVpcAddressPrefix({\n vpcId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_vpc_address_prefix(vpc_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single prefix specified by the identifier in the URL.", "operationId": "get_vpc_address_prefix", "responses": { "200": { "content": { "application/json": { "example": { "cidr": "10.240.0.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-68574057-c5e0-4675-ada4-99377d8f4789", "id": "r006-68574057-c5e0-4675-ada4-99377d8f4789", "is_default": true, "name": "my-vpc-address-prefix-zone-1", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/AddressPrefix" } } }, "description": "The prefix was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A prefix with the specified identifier could not be found." } }, "summary": "Retrieve an address prefix", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.address-prefix.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/address_prefixes/$address_prefix_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVpcAddressPrefixOptions := &vpcv1.GetVPCAddressPrefixOptions{}\ngetVpcAddressPrefixOptions.SetVPCID(vpcID)\ngetVpcAddressPrefixOptions.SetID(addressPrefixID)\naddressPrefix, response, err :=\n vpcService.GetVPCAddressPrefix(getVpcAddressPrefixOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcAddressPrefixOptions getVpcAddressPrefixOptions = new GetVpcAddressPrefixOptions.Builder()\n .vpcId(vpcId)\n .id(id)\n .build();\n\nResponse response = service.getVpcAddressPrefix(getVpcAddressPrefixOptions).execute();\nAddressPrefix addressPrefix = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpcAddressPrefix({ vpcId, id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_vpc_address_prefix(vpc_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" }, { "$ref": "#/components/parameters/vpcPrefixIdUnqualified" } ], "patch": { "description": "This request updates a prefix with the information in a provided prefix patch. The prefix\npatch object is structured in the same way as a retrieved prefix and contains only the\ninformation to be updated.", "operationId": "update_vpc_address_prefix", "requestBody": { "content": { "application/merge-patch+json": { "example": { "name": "my-vpc-address-prefix-updated" }, "schema": { "$ref": "#/components/schemas/AddressPrefixPatch" } } }, "description": "The prefix patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "cidr": "10.240.0.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-68574057-c5e0-4675-ada4-99377d8f4789", "id": "r006-68574057-c5e0-4675-ada4-99377d8f4789", "is_default": true, "name": "my-vpc-address-prefix-updated", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/AddressPrefix" } } }, "description": "The prefix was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid prefix patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A prefix with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The prefix patch conflicts with another prefix in the VPC." } }, "summary": "Update an address prefix", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.address-prefix.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.vpc.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/address_prefixes/$address_prefix_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-vpc-address-prefix-1-updated\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateVPCAddressPrefixOptions{}\noptions.SetVPCID(vpcID)\noptions.SetID(addressPrefixID)\noptions.SetName(name)\naddressPrefix, response, err := vpcService.UpdateVPCAddressPrefix(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateVpcAddressPrefixOptions updateVpcAddressPrefixOptions = new UpdateVpcAddressPrefixOptions.Builder()\n .vpcId(vpcId)\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateVpcAddressPrefix(updateVpcAddressPrefixOptions).execute();\nAddressPrefix addressPrefix = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.updateVpcAddressPrefix({\n vpcId,\n id,\n name: 'my-vpc-address-prefix',\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "is_default = False\nname = 'my-address-prefix'\nresponse = service.update_vpc_address_prefix(\n vpc_id,\n id,\n is_default=is_default,\n name=name,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/dns_resolution_bindings": { "get": { "description": "This request lists DNS resolution bindings for a VPC. A DNS resolution binding\nrepresents an association with another VPC for centralizing DNS name resolution.\n\nIf the VPC specified by the identifier in the URL is a DNS hub VPC (has `dns.enable_hub`\nset to `true`) then there is one binding for each VPC bound to the hub VPC. The endpoint\ngateways in the bound VPCs can allow (using `allow_dns_resolution_binding`) the hub\nVPC to centralize resolution of their DNS names.\n\nIf the VPC specified by the identifier in the URL is not a DNS hub VPC, then there is at\nmost one binding (to a hub VPC). The endpoint gateways in the VPC specified by the\nidentifier in the URL can allow (using `allow_dns_resolution_binding`) its hub VPC to\ncentralize resolution of their DNS names.\n\nTo make use of centralized DNS resolution, a VPC bound to a DNS hub VPC must\ndelegate DNS resolution to its hub VPC by setting `dns.resolver.type` to `delegate`.\n\nThe bindings will be sorted by their `created_at` property values, with newest bindings\nfirst. Bindings with identical `created_at` property values will in turn be sorted by\nascending `name` property values.", "operationId": "list_vpc_dns_resolution_bindings", "parameters": [ { "$ref": "#/components/parameters/sort" }, { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/name" }, { "description": "Filters the collection to resources with a `vpc.id` property matching the specified\nidentifier.", "in": "query", "name": "vpc.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" }, "x-sdk-exclude": true }, { "$ref": "#/components/parameters/vpcByCRN" }, { "$ref": "#/components/parameters/vpcByName" }, { "$ref": "#/components/parameters/vpcByRemoteAccount" } ], "responses": { "200": { "content": { "application/json": { "example": { "dns_resolution_bindings": [ { "created_at": "2023-04-12T13:14:15Z", "endpoint_gateways": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-b73f9596-337b-44fe-a415-11cf243f225b", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-b73f9596-337b-44fe-a415-11cf243f225b", "id": "r006-b73f9596-337b-44fe-a415-11cf243f225b", "name": "my-endpoint-gateway-1", "resource_type": "endpoint_gateway" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "id": "r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "name": "my-endpoint-gateway-2", "resource_type": "endpoint_gateway" } ], "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-86da44e7-e5e5-4492-a1c3-257a72a7ccee/dns_resolution_bindings/r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "id": "r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "lifecycle_state": "stable", "name": "my-dns-resolution-binding-1", "resource_type": "vpc_dns_resolution_binding", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/bb1b52262f7441a586f49068482f1e60::vpc:r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "id": "r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "name": "my-vpc", "remote": { "account": { "id": "bb1b52262f7441a586f49068482f1e60", "resource_type": "account" }, "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" } }, "resource_type": "vpc" } }, { "created_at": "2023-04-12T14:15:16Z", "endpoint_gateways": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/bb1b52262f7441a586f49068482f1e60::endpoint-gateway:r006-5cdadb03-1d2b-4167-adc4-db8152f3d519", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-5cdadb03-1d2b-4167-adc4-db8152f3d519", "id": "r006-5cdadb03-1d2b-4167-adc4-db8152f3d519", "name": "my-endpoint-gateway-1", "remote": { "account": { "id": "bb1b52262f7441a586f49068482f1e60", "resource_type": "account" }, "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" } }, "resource_type": "endpoint_gateway" } ], "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-86da44e7-e5e5-4492-a1c3-257a72a7ccee/dns_resolution_bindings/r006-85405311-bc10-4876-a89e-2cd47f3604f1", "id": "r006-85405311-bc10-4876-a89e-2cd47f3604f1", "lifecycle_state": "stable", "name": "my-dns-resolution-binding-2", "resource_type": "vpc_dns_resolution_binding", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/bb1b52262f7441a586f49068482f1e60::vpc:r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "id": "r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "name": "my-vpc", "remote": { "account": { "id": "bb1b52262f7441a586f49068482f1e60", "resource_type": "account" }, "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" } }, "resource_type": "vpc" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings?limit=50" }, "limit": 50, "total_count": 2 }, "schema": { "$ref": "#/components/schemas/VPCDNSResolutionBindingCollection" } } }, "description": "The DNS resolution bindings were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." } }, "summary": "List DNS resolution bindings for a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.dns-resolution-binding.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.dns-resolution-binding.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/dns_resolution_bindings?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVPCDnsResolutionBindingsOptions := &vpcv1.ListVPCDnsResolutionBindingsOptions{\n}\nvpcdnsResolutionBindings, response, err := vpcService.ListVPCDnsResolutionBindings(listVPCDnsResolutionBindingsOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpcDnsResolutionBindingsOptions listVpcDnsResolutionBindingsOptions = new ListVpcDnsResolutionBindingsOptions.Builder()\n .vpcId(vpcId)\n .build();\nResponse response = service.listVpcDnsResolutionBindings(listVpcDnsResolutionBindingsOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpc_id: data.vpcId,\n};\nconst response = await vpcService.listVpcDnsResolutionBindings(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.list_vpc_dns_resolution_bindings(\n vpc_id=data['vpcID'],\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" } ], "post": { "description": "This request creates a new DNS resolution binding from a DNS resolution binding prototype\nobject. The prototype object is structured in the same way as a retrieved DNS resolution\nbinding, and contains the information necessary to create the new DNS resolution binding.\n\nFor this request to succeed:\n- The VPC specified by the identifier in the URL must not already have a DNS resolution\n binding\n- The VPC specified by the identifier in the URL must have `dns.enable_hub` set to\n `false`\n- The updated DNS sharing connected topology must not contain more than one endpoint\n gateway with `allow_dns_resolution_binding` set to `true` targeting the same service.\n\nSee [About DNS sharing for VPE gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) for\nmore information.", "operationId": "create_vpc_dns_resolution_binding", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VPCDNSResolutionBindingPrototype" } } }, "description": "The DNS resolution binding prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "created_at": "2023-04-12T13:14:15Z", "endpoint_gateways": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-b73f9596-337b-44fe-a415-11cf243f225b", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-b73f9596-337b-44fe-a415-11cf243f225b", "id": "r006-b73f9596-337b-44fe-a415-11cf243f225b", "name": "my-endpoint-gateway-1", "resource_type": "endpoint_gateway" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "id": "r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "name": "my-endpoint-gateway-2", "resource_type": "endpoint_gateway" } ], "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-86da44e7-e5e5-4492-a1c3-257a72a7ccee/dns_resolution_bindings/r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "id": "r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "lifecycle_state": "stable", "name": "my-dns-resolution-binding-1", "resource_type": "vpc_dns_resolution_binding", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/bb1b52262f7441a586f49068482f1e60::vpc:r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "id": "r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "name": "my-vpc", "remote": { "account": { "id": "bb1b52262f7441a586f49068482f1e60", "resource_type": "account" }, "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" } }, "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPCDNSResolutionBinding" } } }, "description": "The DNS resolution binding was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid DNS resolution binding prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The DNS resolution binding prototype object conflicts with another DNS resolution\nbinding in the VPC, or specified a VPC that cannot create a binding in its current\nstate." } }, "summary": "Create a DNS resolution binding", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "description": "Generated for the VPC specified by the identifier in the URL and for the VPC specified\nin the DNS resolution binding.", "name": "is.vpc.vpc.update" }, { "description": "Generated for the VPC specified by the identifier in the URL.", "name": "is.vpc.dns-resolution-binding.create" }, { "description": "Generated for the VPC specified in the DNS resolution binding.", "name": "is.vpc.dns-resolution-binding.connect" } ] }, "x-ibm-permissions": { "actions": [ { "description": "Required for the VPC specified in the DNS resolution binding.", "name": "is.vpc.vpc.read" }, { "description": "Required for the VPC specified by the identifier in the URL and for the VPC specified\nin the DNS resolution binding.", "name": "is.vpc.dns-resolution-binding.create" }, { "description": "Required for the VPC specified in the DNS resolution binding.", "name": "is.vpc.dns-resolution-binding.connect" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/dns_resolution_bindings?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"vpc\": {\n \"crn\": \"crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n },\n \"name\": \"my-dns-resolution-binding\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "vpcIdentityModel := &vpcv1.VPCIdentityByID{\n ID: &vpcID,\n }\ncreateVPCDnsResolutionBindingOptions := vpcService.NewCreateVPCDnsResolutionBindingOptions(\n vpcIdentityModel,\n)\ncreateVPCDnsResolutionBindingOptions.Name = &[]string{\"my-vpc-dns-resolution-binding\"}[0]\nvpcdnsResolutionBinding, response, err := vpcService.CreateVPCDnsResolutionBinding(createVPCDnsResolutionBindingOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n .id(otherVpcId)\n .build();\nCreateVpcDnsResolutionBindingOptions createVpcDnsResolutionBindingOptions = new CreateVpcDnsResolutionBindingOptions.Builder()\n .name(\"my-vpc-dns-resolution-binding\")\n .vpcId(vpcId)\n .vpc(vpcIdentityModel)\n .build();\nResponse response = vpcService.createVpcDnsResolutionBinding(createVpcDnsResolutionBindingOptions).execute();\nVPCDNSResolutionBinding vpcdnsResolutionBinding = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const vpcIdentityModel = {\n id: data.otherVPCId,\n};\nconst params = {\n vpc_id: data.vpcId,\n vpc: vpcIdentityModel,\n name: 'my-vpc-dns-resolution-binding',\n};\nconst response = await vpcService.createVpcDnsResolutionBinding(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpc_identity_model = {\n 'id': otherVPCId,\n}\nresponse = vpc_service.create_vpc_dns_resolution_binding(\n vpc_id=data['vpcID'],\n name='my-vpc-dns-resolution-binding'\n vpc=vpc_identity_model,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/dns_resolution_bindings/{id}": { "delete": { "description": "This request deletes a DNS resolution binding. This operation cannot be reversed.\n\nFor this request to succeed, the VPC specified by the identifier in the URL must not have\n`dns.resolver.type` set to `delegated`.", "operationId": "delete_vpc_dns_resolution_binding", "responses": { "202": { "content": { "application/json": { "example": { "created_at": "2023-04-12T13:14:15Z", "endpoint_gateways": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-b73f9596-337b-44fe-a415-11cf243f225b", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-b73f9596-337b-44fe-a415-11cf243f225b", "id": "r006-b73f9596-337b-44fe-a415-11cf243f225b", "name": "my-endpoint-gateway-1", "resource_type": "endpoint_gateway" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "id": "r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "name": "my-endpoint-gateway-2", "resource_type": "endpoint_gateway" } ], "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-86da44e7-e5e5-4492-a1c3-257a72a7ccee/dns_resolution_bindings/r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "id": "r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "lifecycle_state": "deleting", "name": "my-dns-resolution-binding-1", "resource_type": "vpc_dns_resolution_binding", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/bb1b52262f7441a586f49068482f1e60::vpc:r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "id": "r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "name": "my-vpc", "remote": { "account": { "id": "bb1b52262f7441a586f49068482f1e60", "resource_type": "account" }, "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" } }, "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPCDNSResolutionBinding" } } }, "description": "The DNS resolution binding deletion request was accepted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A DNS resolution binding with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The DNS resolution binding is for a VPC that has delegated DNS resolution to the VPC\nspecified in the DNS resolution binding." } }, "summary": "Delete a DNS resolution binding", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "description": "Generated for the VPC specified by the identifier in the URL.", "name": "is.vpc.vpc.update" }, { "description": "Generated for the VPC specified by the identifier in the URL.", "name": "is.vpc.dns-resolution-binding.delete" }, { "description": "Generated for the VPC specified by the identifier in the URL if `dns.enable_hub` is\n`true`, otherwise generated for the VPC specified in the DNS resolution binding.", "name": "is.vpc.dns-resolution-binding.disconnect" } ] }, "x-ibm-permissions": { "actions": [ { "description": "Required for the VPC specified by the identifier in the URL.", "name": "is.vpc.dns-resolution-binding.delete" }, { "description": "Required for the VPC specified by the identifier in the URL if `dns.enable_hub` is\n`true`, otherwise required for the VPC specified in the DNS resolution binding.", "name": "is.vpc.dns-resolution-binding.disconnect" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/dns_resolution_bindings/$dns_resolution_binding_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteVPCDnsResolutionBindingOptions := vpcService.NewDeleteVPCDnsResolutionBindingOptions(\n vpcID,\n vpcdnsResolutionBindingID,\n)\nresponse, err := vpcService.DeleteVPCDnsResolutionBinding(deleteVPCDnsResolutionBindingOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpcDnsResolutionBindingOptions deleteVpcDnsResolutionBindingOptions = new DeleteVpcDnsResolutionBindingOptions.Builder()\n .vpcId(vpcId)\n .id(vpcdnsResolutionBindingID)\n .build();\nResponse response = vpcService.deleteVpcDnsResolutionBinding(deleteVpcDnsResolutionBindingOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpc_id: data.vpcId,\n id: data.vpcDnsResolutionBindingID,\n};\nconst response = await vpcService.deleteVpcDnsResolutionBinding(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_vpc_dns_resolution_binding(\n vpc_id=data['vpcID'],\n id=otherVPCId,\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single DNS resolution binding specified by the identifier in\nthe URL.", "operationId": "get_vpc_dns_resolution_binding", "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2023-04-12T13:14:15Z", "endpoint_gateways": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-b73f9596-337b-44fe-a415-11cf243f225b", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-b73f9596-337b-44fe-a415-11cf243f225b", "id": "r006-b73f9596-337b-44fe-a415-11cf243f225b", "name": "my-endpoint-gateway-1", "resource_type": "endpoint_gateway" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "id": "r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "name": "my-endpoint-gateway-2", "resource_type": "endpoint_gateway" } ], "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-86da44e7-e5e5-4492-a1c3-257a72a7ccee/dns_resolution_bindings/r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "id": "r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "lifecycle_state": "stable", "name": "my-dns-resolution-binding-1", "resource_type": "vpc_dns_resolution_binding", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/bb1b52262f7441a586f49068482f1e60::vpc:r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "id": "r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "name": "my-vpc", "remote": { "account": { "id": "bb1b52262f7441a586f49068482f1e60", "resource_type": "account" }, "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" } }, "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPCDNSResolutionBinding" } } }, "description": "The DNS resolution binding was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A DNS resolution binding with the specified identifier could not be found." } }, "summary": "Retrieve a DNS resolution binding", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.dns-resolution-binding.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.dns-resolution-binding.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/dns_resolution_bindings/$dns_resolution_binding_id?version=2025-08-12&generation=2\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVPCDnsResolutionBindingOptions := vpcService.NewGetVPCDnsResolutionBindingOptions(\n vpcID,\n vpcdnsResolutionBindingID,\n)\nvpcdnsResolutionBinding, response, err := vpcService.GetVPCDnsResolutionBinding(getVPCDnsResolutionBindingOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcDnsResolutionBindingOptions getVpcDnsResolutionBindingOptions = new GetVpcDnsResolutionBindingOptions.Builder()\n .vpcId(vpcId)\n .id(vpcdnsResolutionBindingID)\n .build();\nResponse response = vpcService.getVpcDnsResolutionBinding(getVpcDnsResolutionBindingOptions).execute();\nVPCDNSResolutionBinding vpcdnsResolutionBinding = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpc_id: data.vpcId,\n id: data.vpcDnsResolutionBindingID,\n};\nconst response = await vpcService.getVpcDnsResolutionBinding(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.get_vpc_dns_resolution_binding(\n vpc_id=data['vpcID'],\n id=data['vpcDnsResolutionBindingID'],\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" }, { "$ref": "#/components/parameters/vpcsDNSResolutionBindingsIdUnqualified" } ], "patch": { "description": "This request updates a DNS resolution binding with the information in a provided DNS\nresolution binding patch. The DNS resolution binding patch object is structured in the\nsame way as a retrieved DNS resolution binding and contains only the information to be\nupdated.", "operationId": "update_vpc_dns_resolution_binding", "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/VPCDNSResolutionBindingPatch" } } }, "description": "The DNS resolution binding patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "created_at": "2023-04-12T13:14:15Z", "endpoint_gateways": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-b73f9596-337b-44fe-a415-11cf243f225b", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-b73f9596-337b-44fe-a415-11cf243f225b", "id": "r006-b73f9596-337b-44fe-a415-11cf243f225b", "name": "my-endpoint-gateway-1", "resource_type": "endpoint_gateway" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "id": "r006-277aebd8-a2b5-42a7-9ee6-f11e09552811", "name": "my-endpoint-gateway-2", "resource_type": "endpoint_gateway" } ], "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-86da44e7-e5e5-4492-a1c3-257a72a7ccee/dns_resolution_bindings/r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "id": "r006-a0d15ec5-a4a6-41ab-86e9-24a8d3dec435", "lifecycle_state": "stable", "name": "my-dns-resolution-binding-updated", "resource_type": "vpc_dns_resolution_binding", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/bb1b52262f7441a586f49068482f1e60::vpc:r006-7b3eb370-cf87-45d1-824b-eee3df163a07", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "id": "r006-8a46f85d-4e60-4b74-abec-22d8a3487613", "name": "my-vpc", "remote": { "account": { "id": "bb1b52262f7441a586f49068482f1e60", "resource_type": "account" }, "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" } }, "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPCDNSResolutionBinding" } } }, "description": "The DNS resolution binding was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid DNS resolution binding patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A DNS resolution binding with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The DNS resolution binding patch conflicts with another DNS resolution\nbinding in the VPC." } }, "summary": "Update a DNS resolution binding", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.dns-resolution-binding.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.dns-resolution-binding.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/dns_resolution_bindings/$dns_resolution_binding_id?version=2025-08-12&generation=2\"\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-dns-resolution-binding-updated\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "updateVPCDnsResolutionBindingOptions := vpcService.NewUpdateVPCDnsResolutionBindingOptions(\n vpcID,\n vpcdnsResolutionBindingID,\n map[string]interface{}{\"name\": \"my-vpc-dns-resolution-binding-updated\"},\n)\nvpcdnsResolutionBinding, response, err := vpcService.UpdateVPCDnsResolutionBinding(updateVPCDnsResolutionBindingOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VPCDNSResolutionBindingPatch vpcdnsResolutionBindingPatchModel = new VPCDNSResolutionBindingPatch.Builder()\n .name(\"my-vpc-dns-resolution-binding-updated\")\n .build();\nMap vpcdnsResolutionBindingPatchModelAsPatch = vpcdnsResolutionBindingPatchModel.asPatch();\nUpdateVpcDnsResolutionBindingOptions updateVpcDnsResolutionBindingOptions = new UpdateVpcDnsResolutionBindingOptions.Builder()\n .vpcId(vpcId)\n .id(vpcdnsResolutionBindingID)\n .vpcdnsResolutionBindingPatch(vpcdnsResolutionBindingPatchModelAsPatch)\n .build();\nResponse response = vpcService.updateVpcDnsResolutionBinding(updateVpcDnsResolutionBindingOptions).execute();\nVPCDNSResolutionBinding vpcdnsResolutionBinding = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpc_id: data.vpcId,\n id: data.vpcDnsResolutionBindingID,\n name: 'my-vpc-dns-resolution-binding-update',\n};\nconst response = await vpcService.updateVpcDnsResolutionBinding(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpcdns_resolution_binding_patch_model = {\n}\nvpcdns_resolution_binding_patch_model['name']='my-vpc-dns-resolution-binding-updated'\nresponse = vpc_service.update_vpc_dns_resolution_binding(\n vpc_id=data['vpcID'],\n id=data['vpcDnsResolutionBindingID'],\n vpcdns_resolution_binding_patch=vpcdns_resolution_binding_patch_model,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/routes": { "get": { "deprecated": true, "description": "This request lists routes in the VPC's default routing table. Each route is\nzone-specific and directs any packets matching its destination CIDR block to a `next_hop`\nIP address. The most specific route matching a packet's destination will be used. If\nmultiple equally-specific routes exist, traffic will be distributed across them.", "operationId": "list_vpc_routes", "parameters": [ { "$ref": "#/components/parameters/zone" }, { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes?limit=20" }, "limit": 20, "routes": [ { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "action": "deliver", "advertise": false, "created_at": "2025-03-24T23:49:22Z", "destination": "192.0.2.5/32", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-75709743-cc45-40a7-99b2-67b312d28af6", "id": "r006-75709743-cc45-40a7-99b2-67b312d28af6", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route-2", "next_hop": { "address": "10.240.0.22" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "schema": { "$ref": "#/components/schemas/RouteCollectionVPCContext" } } }, "description": "The routes were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." } }, "summary": "List routes in a VPC's default routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routes?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListVPCRoutesOptions{}\noptions.SetVPCID(vpcID)\nroutes, response, err := vpcService.ListVPCRoutes(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpcRoutesOptions listVpcRoutesOptions = new ListVpcRoutesOptions.Builder()\n .vpcId(vpcId)\n .build();\n\nResponse response = service.listVpcRoutes(listVpcRoutesOptions).execute();\nRouteCollection routeCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpcRoutes({ vpcId });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_vpc_routes(vpc_id, zone_name=zone_name)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" } ], "post": { "deprecated": true, "description": "This request creates a new route in the VPC's default routing table. The route prototype\nobject is structured in the same way as a retrieved route, and contains the information\nnecessary to create the new route. The request will fail if the new route will cause a loop.", "operationId": "create_vpc_route", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoutePrototype" } } }, "description": "The route prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "allOf": [ { "$ref": "#/components/schemas/Route" }, { "properties": { "href": { "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1" } } } ] } } }, "description": "The route was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid route prototype object was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The route prototype object conflicts with another route in the VPC." } }, "summary": "Create a route in a VPC's default routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.update" }, { "description": "Required when `advertise` is `true`.", "name": "is.vpc.routing-table.advertise" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routes?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-vpc-route\",\n \"destination\": \"192.168.32.0/26\",\n \"next_hop\": {\n \"address\": \"192.168.64.9\"\n },\n \"zone\": \"us-south-1\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateVPCRouteOptions{}\noptions.SetVPCID(vpcID)\noptions.SetName(name)\noptions.SetZone(&vpcv1.ZoneIdentity{\n Name: &zoneName,\n})\noptions.SetNextHop(&vpcv1.RouteNextHopPrototype{\n Address: &nextHopAddress,\n})\noptions.SetDestination(destination)\nroute, response, err := vpcService.CreateVPCRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RouteNextHopPrototypeRouteNextHopIP routeNextHopPrototypeModel = new RouteNextHopPrototypeRouteNextHopIP.Builder()\n .address(\"192.168.3.4\")\n .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n .name(zoneName)\n .build();\nCreateVpcRouteOptions createVpcRouteOptions = new CreateVpcRouteOptions.Builder()\n .vpcId(vpcId)\n .nextHop(routeNextHopPrototypeModel)\n .destination(\"192.168.3.0/24\")\n .zone(zoneIdentityModel)\n .name(\"my-vpc-route\")\n .build();\n\nResponse response = service.createVpcRoute(createVpcRouteOptions).execute();\nRoute route = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpcId,\n destination: '192.168.3.0/24',\n zone: { name: zoneName },\n};\nconst response = await vpcService.createVpcRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "zone_identity_model = {}\nzone_identity_model['name'] = zoneName\n\nroute_next_hop_prototype_model = {}\nroute_next_hop_prototype_model['address'] = '192.168.3.4'\n\ndestination = '10.168.10.0/24'\nzone = zone_identity_model\nname = 'my-route'\nnext_hop = route_next_hop_prototype_model\n\nresponse = service.create_vpc_route(\n vpc_id,\n destination,\n zone,\n name=name,\n next_hop=next_hop,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/routes/{id}": { "delete": { "deprecated": true, "description": "This request deletes a route. This operation cannot be reversed.", "operationId": "delete_vpc_route", "responses": { "204": { "description": "The route was deleted successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A route with the specified identifier could not be found." } }, "summary": "Delete a VPC route", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routes/$route_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteVPCRouteOptions{}\noptions.SetVPCID(vpcID)\noptions.SetID(routeID)\nresponse, err := vpcService.DeleteVPCRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpcRouteOptions deleteVpcRouteOptions = new DeleteVpcRouteOptions.Builder()\n .vpcId(vpcId)\n .id(id)\n .build();\n\nResponse response = service.deleteVpcRoute(deleteVpcRouteOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVpcRoute({ vpcId, id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_vpc_route(vpc_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "deprecated": true, "description": "This request retrieves a single route specified by the identifier in the URL.", "operationId": "get_vpc_route", "responses": { "200": { "content": { "application/json": { "example": { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "allOf": [ { "$ref": "#/components/schemas/Route" }, { "properties": { "href": { "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1" } } } ] } } }, "description": "The route was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A route with the specified identifier could not be found." } }, "summary": "Retrieve a VPC route", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routes/$route_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetVPCRouteOptions{}\noptions.SetVPCID(vpcID)\noptions.SetID(routeID)\nroute, response, err := vpcService.GetVPCRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcRouteOptions getVpcRouteOptions = new GetVpcRouteOptions.Builder()\n .vpcId(vpcId)\n .id(id)\n .build();\n\nResponse response = service.getVpcRoute(getVpcRouteOptions).execute();\nRoute route = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpcRoute({ vpcId, id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_vpc_route(vpc_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" }, { "$ref": "#/components/parameters/vpcRouteIdUnqualified" } ], "patch": { "deprecated": true, "description": "This request updates a route with the information in a provided route patch. The route patch\nobject is structured in the same way as a retrieved route and contains only the information\nto be updated.", "operationId": "update_vpc_route", "requestBody": { "content": { "application/merge-patch+json": { "example": { "next_hop": { "address": "10.240.0.12" } }, "schema": { "$ref": "#/components/schemas/RoutePatch" } } }, "description": "The route patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.12" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "allOf": [ { "$ref": "#/components/schemas/Route" }, { "properties": { "href": { "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1" } } } ] } } }, "description": "The route was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid route patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A route with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The route cannot be updated while it is being deleted." } }, "summary": "Update a VPC route", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.update" }, { "description": "Required when `advertise` is specified as `true`, or when `advertise` is currently\n`true`.", "name": "is.vpc.routing-table.advertise" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routes/$route_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-vpc-route-2\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateVPCRouteOptions{}\noptions.SetVPCID(vpcID)\noptions.SetID(routeID)\noptions.SetName(name)\nroute, response, err := vpcService.UpdateVPCRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateVpcRouteOptions updateVpcRouteOptions = new UpdateVpcRouteOptions.Builder()\n .vpcId(vpcId)\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateVpcRoute(updateVpcRouteOptions).execute();\nRoute route = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpcId,\n id,\n name: 'my-vpc-route',\n};\n\nconst response = await vpcService.updateVpcRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.update_vpc_route(\n vpc_id,\n id,\n name='my-vpc-route',\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/routing_tables": { "get": { "description": "This request lists routing tables for a VPC. Each subnet in a VPC is associated with a\nrouting table, which controls delivery of packets sent on that subnet according to the\naction of the most specific matching route in the table. If multiple equally-specific\nroutes exist, traffic will be distributed across them. If no routes match, delivery will\nbe controlled by the system's built-in routes.", "operationId": "list_vpc_routing_tables", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "description": "Filters the collection to routing tables with an `is_default` property matching the\nspecified value.", "in": "query", "name": "is_default", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables?limit=50" }, "limit": 50, "routing_tables": [ { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [ "direct_link", "transit_gateway" ], "created_at": "2019-01-03T17:36:24Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe", "id": "r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe", "is_default": false, "lifecycle_state": "stable", "name": "my-routing-table-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": true, "route_internet_ingress": false, "route_transit_gateway_ingress": true, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe/routes/r006-eb8b763f-f594-48b1-8563-289178a032b4", "id": "r006-eb8b763f-f594-48b1-8563-289178a032b4", "name": "my-ingress-route" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] } ], "total_count": 2 }, "schema": { "$ref": "#/components/schemas/RoutingTableCollection" } } }, "description": "The routing tables were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." } }, "summary": "List routing tables for a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewListVPCRoutingTablesOptions(vpcID)\nroutingTableCollection, response, err := vpcService.ListVPCRoutingTables(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpcRoutingTablesOptions listVpcRoutingTablesOptions = new ListVpcRoutingTablesOptions.Builder()\n .vpcId(vpcId)\n .build();\n\nResponse response = service.listVpcRoutingTables(listVpcRoutingTablesOptions).execute();\nRoutingTableCollection routingTableCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpcRoutingTables({vpcId});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "routing_table_collection = vpc_service.list_vpc_routing_tables(\n vpc_id=vpcId).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" } ], "post": { "description": "This request creates a routing table from a routing table prototype object. The\nprototype object is structured in the same way as a retrieved routing table, and\ncontains the information necessary to create the new routing table.\n\nAt present, the routing table's `resource_group` will be inherited from its VPC, but\nmay be specifiable in the future.", "operationId": "create_vpc_routing_table", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoutingTablePrototype" } } }, "description": "The routing table prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "schema": { "$ref": "#/components/schemas/RoutingTable" } } }, "description": "The routing table was created successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid routing table prototype object was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The routing table prototype object conflicts with another routing table in the\nVPC." } }, "summary": "Create a routing table for a VPC", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.create" }, { "description": "Required when `advertise_routes_to` is specified and not empty.", "name": "is.vpc.routing-table.advertise" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-routing-table\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "routeName := \"my-route\"\naction := \"delegate\"\nroutePrototypeModel := &vpcv1.RoutePrototype{\n Action: &action,\n NextHop: &vpcv1.RouteNextHopPrototypeRouteNextHopIP{\n Address: addressPrefix,\n },\n Name: &routeName,\n Destination: &destination,\n Zone: &vpcv1.ZoneIdentityByName{\n Name: &zoneName,\n },\n}\nname := \"my-routing-table\"\noptions := &vpcv1.CreateVPCRoutingTableOptions{\n VPCID: &vpcID,\n Name: &name,\n Routes: []vpcv1.RoutePrototype{*routePrototypeModel},\n}\n\nroutingTable, response, err := vpcService.CreateVPCRoutingTable(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RouteNextHopPrototypeRouteNextHopIP routeNextHopPrototypeModel = new RouteNextHopPrototypeRouteNextHopIP.Builder()\n.address(\"192.168.3.4\")\n.build();\n\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n.name(zoneName)\n.build();\n\nRoutePrototype routePrototypeModel = new RoutePrototype.Builder()\n.action(\"delegate\")\n.nextHop(routeNextHopPrototypeModel)\n.name(\"my-route\")\n.destination(\"192.168.3.0/24\")\n.zone(zoneIdentityModel)\n.build();\n\nCreateVpcRoutingTableOptions createVpcRoutingTableOptions = new CreateVpcRoutingTableOptions.Builder()\n.vpcId(vpcId)\n.name(\"my-routing-table\")\n.routes(new java.util.ArrayList(java.util.Arrays.asList(routePrototypeModel)))\n.build();\n\nResponse response = service.createVpcRoutingTable(createVpcRoutingTableOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const routeNextHopPrototypeModel = {\n address: '192.168.3.4',\n};\n\nconst zoneIdentityModel = {\n name: zoneName,\n};\n\nconst routePrototypeModel = {\n action: 'delegate',\n next_hop: routeNextHopPrototypeModel,\n name: 'my-route',\n destination: '192.168.3.0/24',\n zone: zoneIdentityModel,\n};\n\nconst params = {\n vpcId,\n name: 'my-routing-table',\n routes: [routePrototypeModel],\n};\n\nconst response = await vpcService.createVpcRoutingTable(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "route_next_hop_prototype_model = {'address': '192.168.3.4'}\n\nzone_identity_model = { 'name': zoneName }\n\nroute_prototype_model = {\n 'action': 'delegate',\n 'next_hop': route_next_hop_prototype_model,\n 'name': 'my-route',\n 'destination': '192.168.3.0/24',\n 'zone': zone_identity_model\n}\n\ncreate_vpc_routing_table_response = vpc_service.create_vpc_routing_table(\n vpc_id,\n name='my-routing-table',\n routes=[route_prototype_model])\n\nrouting_table = create_vpc_routing_table_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/routing_tables/{id}": { "delete": { "description": "This request deletes a routing table. A routing table cannot be deleted if it is\nassociated with any subnets in the VPC. Additionally, a VPC's default routing table\ncannot be deleted. This operation cannot be reversed.", "operationId": "delete_vpc_routing_table", "parameters": [ { "$ref": "#/components/parameters/ifMatch" } ], "responses": { "204": { "description": "The routing table was deleted successfully." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The routing table is not allowed to be deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A routing table with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The routing table is in use and cannot be deleted." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the routing\ntable" } }, "summary": "Delete a VPC routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$vpc_routing_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewDeleteVPCRoutingTableOptions(\n vpcID,\n routingTableID,\n)\n\nresponse, err := vpcService.DeleteVPCRoutingTable(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpcRoutingTableOptions deleteVpcRoutingTableOptions = new DeleteVpcRoutingTableOptions.Builder()\n.vpcId(vpcId)\n.id(routingTableId)\n.build();\n\nResponse response = service.deleteVpcRoutingTable(deleteVpcRoutingTableOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVpcRoutingTable({vpcId, id});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "delete_vpc_routing_table_route_response =\n vpc_service.delete_vpc_routing_table_route(\n vpc_id, routing_table_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single routing table specified by the identifier in the URL.", "operationId": "get_vpc_routing_table", "responses": { "200": { "content": { "application/json": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "schema": { "$ref": "#/components/schemas/RoutingTable" } } }, "description": "The routing table was retrieved successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A routing table with the specified identifier could not be found." } }, "summary": "Retrieve a VPC routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$vpc_routing_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetVPCRoutingTableOptions{\n VPCID: &vpcID,\n ID: &routingTableID,\n}\n\nroutingTable, response, err := vpcService.GetVPCRoutingTable(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcRoutingTableOptions getVpcRoutingTableOptions = new GetVpcRoutingTableOptions.Builder()\n.vpcId(vpcId)\n.id(routingTableId)\n.build();\n\nResponse response = service.getVpcRoutingTable(getVpcRoutingTableOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpcRoutingTable({vpcId, id});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "get_vpc_routing_table_response = vpc_service.get_vpc_routing_table(\n vpc_id=vpcId, id=routingTableId)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" }, { "$ref": "#/components/parameters/vpcRoutingTableIdUnqualified" } ], "patch": { "description": "This request updates a routing table with the information in a provided routing table\npatch. The patch object is structured in the same way as a retrieved table and contains\nonly the information to be updated.", "operationId": "update_vpc_routing_table", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContext" } ], "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/RoutingTablePatch" } } }, "description": "The routing table patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table-updated", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "schema": { "$ref": "#/components/schemas/RoutingTable" } } }, "description": "The routing table was updated successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid routing table patch was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A routing table with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The routing table patch conflicts with another routing table in the\nVPC, or the routing table cannot be updated while it is being deleted." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the routing\ntable" } }, "summary": "Update a VPC routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.update" }, { "description": "Required when `advertise_routes_to` is changed.", "name": "is.vpc.routing-table.advertise" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n \"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$vpc_routing_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-routing-table-updated\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "name := \"my-routing-table\"\nroutingTablePatchModel := &vpcv1.RoutingTablePatch{\n Name: &name,\n}\nroutingTablePatchModelAsPatch, _ := routingTablePatchModel.AsPatch()\n\noptions := &vpcv1.UpdateVPCRoutingTableOptions{\n VPCID: &vpcID,\n ID: &routingTableID,\n RoutingTablePatch: routingTablePatchModelAsPatch,\n}\n\nroutingTable, response, err := vpcService.UpdateVPCRoutingTable(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RoutingTablePatch routingTablePatchModel = new RoutingTablePatch.Builder()\n.name(\"my-routing-table\")\n.build();\nMap routingTablePatchModelAsPatch = routingTablePatchModel.asPatch();\n\nUpdateVpcRoutingTableOptions updateVpcRoutingTableOptions = new UpdateVpcRoutingTableOptions.Builder()\n.vpcId(vpcId)\n.id(routingTableId)\n.routingTablePatch(routingTablePatchModelAsPatch)\n.build();\n\nResponse response = service.updateVpcRoutingTable(updateVpcRoutingTableOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpcId,\n id,\n name: 'my-routing-table',\n};\nconst response = await vpcService.updateVpcRoutingTable(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "routing_table_patch_model = {\n 'name': 'my-routing-table',\n}\n\nupdate_vpc_routing_table_response = vpc_service.update_vpc_routing_table(\n vpc_id,\n id,\n routing_table_patch=routing_table_patch_model)\n\nrouting_table = update_vpc_routing_table_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/routing_tables/{routing_table_id}/routes": { "get": { "description": "This request lists routes in a VPC routing table. If subnets are associated with\nthis routing table, delivery of packets sent on a subnet is performed according to the\naction of the most specific matching route in the table (provided the subnet and route\nare in the same zone). If multiple equally-specific routes exist, the route with the\nhighest priority will be used. If two matching routes have the same destination and\npriority, traffic will be distributed between them. If no routes match, delivery will\nbe controlled by the system's built-in routes.", "operationId": "list_vpc_routing_table_routes", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1/routes?limit=20" }, "limit": 20, "routes": [ { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "action": "deliver", "advertise": false, "created_at": "2025-03-24T23:49:22Z", "destination": "192.0.2.5/32", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-75709743-cc45-40a7-99b2-67b312d28af6", "id": "r006-75709743-cc45-40a7-99b2-67b312d28af6", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route-2", "next_hop": { "address": "10.240.0.22" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "schema": { "$ref": "#/components/schemas/RouteCollection" } } }, "description": "The VPC routes were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC routing table could not be found." } }, "summary": "List routes in a VPC routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$routing_table_id/routes?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewListVPCRoutingTableRoutesOptions(\n vpcID,\n routingTableID,\n)\n\nrouteCollection, response, err := vpcService.ListVPCRoutingTableRoutes(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpcRoutingTableRoutesOptions listVpcRoutingTableRoutesOptions = new ListVpcRoutingTableRoutesOptions.Builder()\n .vpcId(vpcId)\n .routingTableId(routingTableId)\n .build();\n\nResponse response = service.listVpcRoutingTableRoutes(listVpcRoutingTableRoutesOptions).execute();\nRouteCollection routeCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpcRoutingTableRoutes({\n vpcId,\n routingTableId,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "list_vpc_routing_table_routes_response = vpc_service.list_vpc_routing_table_routes(\n vpc_id,\n routing_table_id)\n\nroute_collection = list_vpc_routing_table_routes_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" }, { "$ref": "#/components/parameters/vpcRoutingTableId" } ], "post": { "description": "This request creates a new VPC route from a VPC route prototype object. The prototype\nobject is structured in the same way as a retrieved VPC route and contains the information\nnecessary to create the route.", "operationId": "create_vpc_routing_table_route", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoutePrototype" } } }, "description": "The VPC route prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Route" } } }, "description": "The VPC route was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPC route prototype object was provided." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPC routing table with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPC route prototype object conflicts with another VPC route for\nthe VPC routing table." } }, "summary": "Create a route in a VPC routing table", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.update" }, { "description": "Required when `advertise` is `true`.", "name": "is.vpc.routing-table.advertise" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$routing_table_id/routes?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-route-1\",\n \"destination\": \"192.168.8.0/24\",\n \"next_hop\": {\n \"address\": \"10.0.1.2\"\n },\n \"zone\": {\n \"name\": \"us-south-1\"\n }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "zoneIdentityModel := &vpcv1.ZoneIdentityByName{\n Name: &zoneName,\n}\n\noptions := vpcService.NewCreateVPCRoutingTableRouteOptions(\n vpcID,\n routingTableID,\n destination,\n zoneIdentityModel,\n)\n\nroute, response, err := vpcService.CreateVPCRoutingTableRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n .name(zoneName)\n .build();\nCreateVpcRoutingTableRouteOptions createVpcRoutingTableRouteOptions = new CreateVpcRoutingTableRouteOptions.Builder()\n .vpcId(vpcId)\n .routingTableId(routingTableId)\n .destination(\"192.168.3.0/24\")\n .zone(zoneIdentityModel)\n .build();\n\nResponse response = service.createVpcRoutingTableRoute(createVpcRoutingTableRouteOptions).execute();\nRoute route = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const routeNextHopPrototypeModel = {\n address: '192.168.3.4',\n};\n\nconst params = {\n vpcId,\n routingTableId,\n destination: '192.168.3.0/24',\n zone: {\n name: zoneName,\n },\n action: 'delegate',\n nextHop: routeNextHopPrototypeModel,\n name: 'my-route',\n};\nconst response = await vpcService.createVpcRoutingTableRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "zone_identity_model = {'name': zoneName}\n\nroute_next_hop_prototype_model = {'address': '192.168.3.4'}\n\ncreate_vpc_routing_table_route_response =\n vpc_service.create_vpc_routing_table_route(\n vpc_id,\n routing_table_id,\n destination='192.168.3.0/24',\n zone=zone_identity_model,\n action='delegate',\n next_hop=route_next_hop_prototype_model,\n name='my-route')\n\nroute = create_vpc_routing_table_route_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpcs/{vpc_id}/routing_tables/{routing_table_id}/routes/{id}": { "delete": { "description": "This request deletes a VPC route. This operation cannot be reversed. Only VPC routes with\nan `origin` of `user` are allowed to be deleted.", "operationId": "delete_vpc_routing_table_route", "responses": { "204": { "description": "The VPC route was deleted successfully." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPC route is not allowed to be deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC route could not be found." } }, "summary": "Delete a VPC routing table route", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$routing_table_id/routes/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteVPCRoutingTableRouteOptions{\n VPCID: &vpcID,\n RoutingTableID: &routingTableID,\n ID: &routeID,\n}\n\nresponse, err := vpcService.DeleteVPCRoutingTableRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpcRoutingTableRouteOptions deleteVpcRoutingTableRouteOptions = new DeleteVpcRoutingTableRouteOptions.Builder()\n .vpcId(vpcId)\n .routingTableId(routingTableId)\n .id(routeId)\n .build();\n\nResponse response = service.deleteVpcRoutingTableRoute(deleteVpcRoutingTableRouteOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVpcRoutingTableRoute({\n vpcId,\n routingTableId,\n id\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "delete_vpc_routing_table_route_response =\n vpc_service.delete_vpc_routing_table_route(\n vpc_id, routing_table_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single VPC route specified by the identifier in the URL path.", "operationId": "get_vpc_routing_table_route", "responses": { "200": { "content": { "application/json": { "example": { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Route" } } }, "description": "The VPC route was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC route could not be found." } }, "summary": "Retrieve a VPC routing table route", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$routing_table_id/routes/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewGetVPCRoutingTableRouteOptions(\n vpcID,\n routingTableID,\n routeID,\n)\nroute, response, err := vpcService.GetVPCRoutingTableRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpcRoutingTableRouteOptions getVpcRoutingTableRouteOptions = new GetVpcRoutingTableRouteOptions.Builder()\n .vpcId(vpcId)\n .routingTableId(routingTableId)\n .id(routeId)\n .build();\n\nResponse response = service.getVpcRoutingTableRoute(getVpcRoutingTableRouteOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpcRoutingTableRoute({\n vpcId,\n routingTableId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "get_vpc_routing_table_route_response = vpc_service.get_vpc_routing_table_route(\n vpc_id, routing_table_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpcId" }, { "$ref": "#/components/parameters/vpcRoutingTableId" }, { "$ref": "#/components/parameters/vpcRoutingTableRouteIdUnqualified" } ], "patch": { "description": "This request updates a VPC route with the information provided in a route patch object.\nThe patch object is structured in the same way as a retrieved VPC route and needs to\ncontain only the information to be updated. Only VPC routes with an `origin` of `user`\nare allowed to be updated.", "operationId": "update_vpc_routing_table_route", "requestBody": { "content": { "application/merge-patch+json": { "example": { "advertise": false }, "schema": { "$ref": "#/components/schemas/RoutePatch" } } }, "description": "The VPC route patch.", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "action": "deliver", "advertise": false, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "schema": { "$ref": "#/components/schemas/Route" } } }, "description": "The VPC route was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPC route patch was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPC route is not allowed to be updated." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPC route could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPC route patch conflicts with another VPC route for the VPC routing table, or\nthe VPC route cannot be updated while it is being deleted." } }, "summary": "Update a VPC routing table route", "tags": [ "VPCs" ], "x-ibm-events": { "events": [ { "name": "is.vpc.routing-table-route.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpc.routing-table.update" }, { "description": "Required when `advertise` is specified as `true`, or when `advertise` is currently\n`true`.", "name": "is.vpc.routing-table.advertise" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/vpcs/$vpc_id/routing_tables/$routing_table_id/routes/$id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-vpc-route-updated\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "name := \"my-route\"\nroutePatchModel := &vpcv1.RoutePatch{\n Name: &name,\n}\nroutePatchModelAsPatch, _ := routePatchModel.AsPatch()\n\noptions := &vpcv1.UpdateVPCRoutingTableRouteOptions{\n VPCID: &vpcID,\n RoutingTableID: &routingTableID,\n ID: &routeID,\n RoutePatch: routePatchModelAsPatch,\n}\n\nroute, response, err := vpcService.UpdateVPCRoutingTableRoute(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RoutePatch routePatchModel = new RoutePatch.Builder()\n .name(\"my-route\")\n .build();\nMap routePatchModelAsPatch = routePatchModel.asPatch();\n\nUpdateVpcRoutingTableRouteOptions updateVpcRoutingTableRouteOptions = new UpdateVpcRoutingTableRouteOptions.Builder()\n .vpcId(vpcId)\n .routingTableId(routingTableId)\n .id(routeId)\n .routePatch(routePatchModelAsPatch)\n .build();\n\nResponse response = service.updateVpcRoutingTableRoute(updateVpcRoutingTableRouteOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpcId,\n routingTableId,\n id,\n name: 'my-route',\n};\n\nconst response = await vpcService.updateVpcRoutingTableRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "route_patch_model = {'name': 'my-route'}\nupdate_vpc_routing_table_route_response =\n vpc_service.update_vpc_routing_table_route(\n vpc_id,\n routing_table_id,\n id,\n route_patch=route_patch_model)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_gateways": { "get": { "description": "This request lists VPN gateways in the region.", "operationId": "list_vpn_gateways", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceGroup" }, { "$ref": "#/components/parameters/sort" }, { "description": "Filters the collection to VPN gateways with a `mode` property matching the specified\nvalue.", "in": "query", "name": "mode", "required": false, "schema": { "$ref": "#/components/schemas/VPNGatewayModeType" } } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways?limit=20" }, "limit": 20, "total_count": 2, "vpn_gateways": [ { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-04T03:44:47.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "id": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "lifecycle_reasons": [], "lifecycle_state": "stable", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.72" }, "role": "active" } ], "mode": "route", "name": "my-vpn-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-07T03:47:48.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9", "id": "0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9", "lifecycle_reasons": [], "lifecycle_state": "stable", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.73" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.2.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-e626dac5-45ba-42bd-a65f-642021cd1a7f", "id": "0727-e626dac5-45ba-42bd-a65f-642021cd1a7f", "name": "my-reserved-ip-z2-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.74" }, "role": "standby" } ], "mode": "policy", "name": "my-vpn-gateway-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ] }, "schema": { "$ref": "#/components/schemas/VPNGatewayCollection" } } }, "description": "The VPN gateways were retrieved successfully." } }, "summary": "List VPN gateways", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-gateway.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListVPNGatewaysOptions{}\nvpnGateways, response, err := vpcService.ListVPNGateways(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpnGatewaysOptions listVpnGatewaysOptions = new ListVpnGatewaysOptions.Builder()\n .build();\n\nResponse response = service.listVpnGateways(listVpnGatewaysOptions).execute();\nVPNGatewayCollection vpnGatewayCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpnGateways();" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_vpn_gateways()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new VPN gateway.", "operationId": "create_vpn_gateway", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VPNGatewayPrototype" } } }, "description": "The VPN gateway prototype object.", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-04T03:44:47.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "id": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "lifecycle_reasons": [], "lifecycle_state": "pending", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.72" }, "role": "active" } ], "mode": "route", "name": "my-vpn-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPNGateway" } } }, "description": "The VPN gateway was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN gateway prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway prototype object conflicts with another VPN gateway in the VPC." } }, "summary": "Create a VPN gateway", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-gateway.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.create" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/vpn_gateways?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"name\": \"my-new-vpn-gateway\",\n \"mode\": \"policy\",\n \"subnet\": {\n \"id\": \"0717-b28a7e6d-a66b-4de7-8713-15dcffdce401\"\n }\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateVPNGatewayOptions{}\noptions.SetName(name)\noptions.SetSubnet(&vpcv1.SubnetIdentity{\n ID: &subnetId,\n})\nvpnGateway, response, err := vpcService.CreateVPNGateway(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "SubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n .id(subnetId)\n .build();\nCreateVpnGatewayOptions createVpnGatewayOptions = new CreateVpnGatewayOptions.Builder()\n .subnet(subnetIdentityModel)\n .name(\"my-vpn-gateway\")\n .build();\n\nResponse response = service.createVpnGateway(createVpnGatewayOptions).execute();\nVPNGateway vpnGateway = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const subnetIdentityModel = {\n id: subnetID,\n};\n\nconst params = {\n name: 'my-vpn-gateway',\n subnet: subnetIdentityModel,\n};\n\nconst response = await vpcService.createVpnGateway(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "subnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nsubnet = subnet_identity_model\nname = 'my-vpn-gateway'\nresource_group = resource_group_identity_model\n\nresponse = service.create_vpn_gateway(\n subnet,\n name=name,\n resource_group=resource_group,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_gateways/{id}": { "delete": { "description": "This request deletes a VPN gateway. This operation cannot be reversed. For this request to\nsucceed, the VPN gateway must not have a `status` of `pending`, and there must not be any\nVPC routes using the VPN gateway's connections as a next hop.", "operationId": "delete_vpn_gateway", "responses": { "202": { "description": "The VPN gateway deletion request was accepted." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway is not allowed to be deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway is not allowed to be deleted." } }, "summary": "Delete a VPN gateway", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-gateway.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewDeleteVPNGatewayOptions(id)\nresponse, err := vpcService.DeleteVPNGateway(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpnGatewayOptions deleteVpnGatewayOptions = new DeleteVpnGatewayOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.deleteVpnGateway(deleteVpnGatewayOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVpnGateway({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_vpn_gateway(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single VPN gateway specified by the identifier in the URL.", "operationId": "get_vpn_gateway", "responses": { "200": { "content": { "application/json": { "example": { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-04T03:44:47.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "id": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "lifecycle_reasons": [], "lifecycle_state": "stable", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.72" }, "role": "active" } ], "mode": "route", "name": "my-vpn-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPNGateway" } } }, "description": "The VPN gateway was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway with the specified identifier could not be found." } }, "summary": "Retrieve a VPN gateway", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-gateway.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := vpcService.NewGetVPNGatewayOptions(id)\nvpnGateway, response, err := vpcService.GetVPNGateway(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpnGatewayOptions getVpnGatewayOptions = new GetVpnGatewayOptions.Builder()\n .id(id)\n .build();\n\nResponse response = service.getVpnGateway(getVpnGatewayOptions).execute();\nVPNGateway vpnGateway = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpnGateway({ id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_vpn_gateway(id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnGatewayIdUnqualified" } ], "patch": { "description": "This request updates the properties of an existing VPN gateway.", "operationId": "update_vpn_gateway", "requestBody": { "content": { "application/merge-patch+json": { "example": { "name": "my-vpn-gateway-updated" }, "schema": { "$ref": "#/components/schemas/VPNGatewayPatch" } } }, "description": "The VPN gateway patch.", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-04T03:44:47.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "id": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "lifecycle_reasons": [], "lifecycle_state": "stable", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.72" }, "role": "active" } ], "mode": "route", "name": "my-vpn-gateway-updated", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPNGateway" } } }, "description": "The VPN gateway was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN gateway patch was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway is not allowed to be updated." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway patch conflicts with another VPN gateway in the VPC." } }, "summary": "Update a VPN gateway", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-gateway.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-vpn-gateway-1\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateVPNGatewayOptions{\n ID: &id,\n Name: &name,\n}\nvpnGateway, response, err := vpcService.UpdateVPNGateway(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateVpnGatewayOptions updateVpnGatewayOptions = new UpdateVpnGatewayOptions.Builder()\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateVpnGateway(updateVpnGatewayOptions).execute();\nVPNGateway vpnGateway = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.updateVpnGateway({ id, name: 'my-vpn-gateway' });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.update_vpn_gateway(\n id,\n name='my-vpn-gateway',\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_gateways/{vpn_gateway_id}/connections": { "get": { "description": "This request lists connections of a VPN gateway.", "operationId": "list_vpn_gateway_connections", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "description": "Filters the collection to VPN gateway connections with a `status` property matching the\nspecified value.", "in": "query", "name": "status", "required": false, "schema": { "$ref": "#/components/schemas/VPNGatewayConnectionStatus" } } ], "responses": { "200": { "content": { "application/json": { "example": { "connections": [ { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-09T15:38:07.172928Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "bidirectional", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection-2", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections?limit=20" }, "limit": 20, "total_count": 2 }, "schema": { "$ref": "#/components/schemas/VPNGatewayConnectionCollection" } } }, "description": "The VPN gateway connections were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway with the specified identifier could not be found." } }, "summary": "List connections of a VPN gateway", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListVPNGatewayConnectionsOptions{}\noptions.SetVPNGatewayID(gatewayID)\nvpnGatewayConnections, response, err := vpcService.ListVPNGatewayConnections(\n options\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpnGatewayConnectionsOptions listVpnGatewayConnectionsOptions = new ListVpnGatewayConnectionsOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .build();\n\nResponse response = service.listVpnGatewayConnections(listVpnGatewayConnectionsOptions).execute();\nVPNGatewayConnectionCollection vpnGatewayConnectionCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpnGatewayConnections({ vpnGatewayId });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_vpn_gateway_connections(vpn_gateway_id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnGatewayId" } ], "post": { "description": "This request creates a new VPN gateway connection.", "operationId": "create_vpn_gateway_connection", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VPNGatewayConnectionPrototype" } } }, "description": "The VPN gateway connection prototype object.", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, "schema": { "$ref": "#/components/schemas/VPNGatewayConnection" } } }, "description": "The VPN gateway connection was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN gateway connection prototype object was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway connection is not allowed to be created." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway connection prototype object conflicts with another VPN gateway\nconnection on the VPN gateway." } }, "summary": "Create a connection for a VPN gateway", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.create" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"admin_state_up\": true,\n \"dead_peer_detection\": {\n \"interval\": 15,\n \"timeout\": 30\n },\n \"local\": {\n \"cidrs\": [\"192.0.2.0/24\"]\n },\n \"ike_policy\": {\n \"id\": \"r006-e98f46a3-1e4e-4195-b4e5-b8155192689d\"\n },\n \"ipsec_policy\": {\n \"id\": \"r006-51eae621-dbbc-4c47-b623-b57a43c19876\"\n },\n \"name\": \"my-vpn-gateway-connection\",\n \"peer\": {\n \"cidrs\": [\"203.0.113.0/24\"],\n \"address\": \"203.0.113.5\"\n },\n \"psk\": \"lkj14b1oi0alcniejkso\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CreateVPNGatewayConnectionOptions{\n VPNGatewayID: &gatewayID,\n}\nvpnGatewayConnectionPrototype := &vpcv1.VPNGatewayConnectionPrototype{\n Name: &name,\n Peer: &vpcv1.VPNGatewayConnectionStaticRouteModePeerPrototype{\n Address: &peerAddress,\n },\n Psk: core.StringPtr(\"lkj14b1oi0alcniejkso\"),\n}\noptions.SetVPNGatewayConnectionPrototype(vpnGatewayConnectionPrototype)\nvpnGatewayConnection, response, err := vpcService.CreateVPNGatewayConnection(\n options,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress vpnGatewayConnectionStaticRouteModePeerPrototypeModel = new VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress.Builder()\n .address(\"203.0.113.5\")\n .build();\nVPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype vpnGatewayConnectionPrototypeModel = new VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype.Builder()\n .name(\"my-vpn-gateway-connection\")\n .psk(\"lkj14b1oi0alcniejkso\")\n .peer(vpnGatewayConnectionStaticRouteModePeerPrototypeModel)\n .build();\nCreateVpnGatewayConnectionOptions createVpnGatewayConnectionOptions = new CreateVpnGatewayConnectionOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .vpnGatewayConnectionPrototype(vpnGatewayConnectionPrototypeModel)\n .build();\n\nResponse response = vpcService.createVpnGatewayConnection(createVpnGatewayConnectionOptions).execute();\nVPNGatewayConnection vpnGatewayConnection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const vpnGatewayConnectionStaticRouteModePeerPrototypeModel = {\n address: '203.0.113.5',\n};\n\nconst vpnGatewayConnectionPrototypeModel = {\n name: 'my-vpn-gateway-connection',\n psk: 'lkj14b1oi0alcniejkso',\n peer: vpnGatewayConnectionStaticRouteModePeerPrototypeModel,\n};\n\nconst params = {\n vpnGatewayId: vpnGatewayId,\n vpnGatewayConnectionPrototype: vpnGatewayConnectionPrototypeModel,\n};\nconst response = await vpcService.createVpnGatewayConnection(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_gateway_connection_dpd_prototype_model = {}\nvpn_gateway_connection_dpd_prototype_model['action'] = 'restart'\nvpn_gateway_connection_dpd_prototype_model['interval'] = 30\nvpn_gateway_connection_dpd_prototype_model['timeout'] = 120\nike_policy_identity_model = {}\nike_policy_identity_model['id'] = ike_policy_id\ni_psec_policy_identity_model = {}\ni_psec_policy_identity_model['id'] = ipsec_policy_id\ndead_peer_detection = vpn_gateway_connection_dpd_prototype_model\nike_policy = ike_policy_identity_model\nipsec_policy = i_psec_policy_identity_model\npeer_address = '203.0.113.5'\npsk = 'my-password'\nadmin_state_up = True\nname = 'my-vpn-gateway-connection'\n\nvpn_gateway_connection_static_route_mode_peer_prototype_model = {\n 'address': peer_address,\n}\nvpn_gateway_connection_prototype_model = {\n 'psk': psk,\n 'peer': vpn_gateway_connection_static_route_mode_peer_prototype_model,\n 'name': name,\n 'admin_state_up': admin_state_up,\n 'dead_peer_detection'=dead_peer_detection,\n 'ike_policy'=ike_policy,\n 'ipsec_policy'=ipsec_policy,\n}\n\nresponse = vpc_service.create_vpn_gateway_connection(\n vpn_gateway_id=vpn_gateway_id,\n vpn_gateway_connection_prototype=vpn_gateway_connection_prototype_model,\n)\nvpn_gateway_connection = response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_gateways/{vpn_gateway_id}/connections/{id}": { "delete": { "description": "This request deletes a VPN gateway connection. This operation cannot be reversed. For this\nrequest to succeed, there must not be VPC routes using this VPN connection as a next hop.", "operationId": "delete_vpn_gateway_connection", "parameters": [], "responses": { "202": { "description": "The VPN gateway connection deletion request was accepted." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway connection is not allowed to be deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway connection with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway connection is in use and cannot be deleted." } }, "summary": "Delete a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.DeleteVPNGatewayConnectionOptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\nresponse, err := vpcService.DeleteVPNGatewayConnection(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpnGatewayConnectionOptions deleteVpnGatewayConnectionOptions = new DeleteVpnGatewayConnectionOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .build();\n\nResponse response = service.deleteVpnGatewayConnection(deleteVpnGatewayConnectionOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.deleteVpnGatewayConnection({\n vpnGatewayId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.delete_vpn_gateway_connection(vpn_gateway_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single VPN gateway connection specified by\nthe identifier in the URL.", "operationId": "get_vpn_gateway_connection", "responses": { "200": { "content": { "application/json": { "example": { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, "schema": { "$ref": "#/components/schemas/VPNGatewayConnection" } } }, "description": "The VPN gateway connection was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway connection with the specified identifier could not be found." } }, "summary": "Retrieve a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.GetVPNGatewayConnectionOptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\nvpnGatewayConnection, response, err := vpcService.GetVPNGatewayConnection(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpnGatewayConnectionOptions getVpnGatewayConnectionOptions = new GetVpnGatewayConnectionOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .build();\n\nResponse response = service.getVpnGatewayConnection(getVpnGatewayConnectionOptions).execute();\nVPNGatewayConnection vpnGatewayConnection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.getVpnGatewayConnection({ vpnGatewayId, id });" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.get_vpn_gateway_connection(vpn_gateway_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnGatewayId" }, { "$ref": "#/components/parameters/vpnGatewayConnectionIdUnqualified" } ], "patch": { "description": "This request updates the properties of an existing VPN gateway connection.", "operationId": "update_vpn_gateway_connection", "parameters": [], "requestBody": { "content": { "application/merge-patch+json": { "schema": { "$ref": "#/components/schemas/VPNGatewayConnectionPatch" } } }, "description": "The VPN gateway connection patch.", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, "schema": { "$ref": "#/components/schemas/VPNGatewayConnection" } } }, "description": "The VPN gateway connection was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN gateway connection patch was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN gateway connection is not allowed to be updated." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway connection with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The connection patch conflicts with another connection on the VPN gateway." } }, "summary": "Update a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-vpn-gateway-connection-1\"}'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateVPNGatewayConnectionOptions{\n ID: &connID,\n VpnGatewayID: &gatewayID,\n Name: &name,\n}\nvpnGatewayConnection, response, err := vpcService.UpdateVPNGatewayConnection(\n options\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "UpdateVpnGatewayConnectionOptions updateVpnGatewayConnectionOptions = new UpdateVpnGatewayConnectionOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .name(name)\n .build();\n\nResponse response = service.updateVpnGatewayConnection(updateVpnGatewayConnectionOptions).execute();\nVPNGatewayConnection vpnGatewayConnection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnGatewayId,\n id,\n name: 'my-vpn-gateway-connection',\n};\nconst response = await vpcService.updateVpnGatewayConnection(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_gateway_connection_dpd_prototype_model = {}\nvpn_gateway_connection_dpd_prototype_model['action'] = 'restart'\nvpn_gateway_connection_dpd_prototype_model['interval'] = 30\nvpn_gateway_connection_dpd_prototype_model['timeout'] = 120\n\nike_policy_identity_model = {}\nike_policy_identity_model['id'] = ike_policy_id\n\ni_psec_policy_identity_model = {}\ni_psec_policy_identity_model['id'] = ipsec_policy_id\n\nadmin_state_up = True\ndead_peer_detection = vpn_gateway_connection_dpd_prototype_model\nike_policy = ike_policy_identity_model\nipsec_policy = i_psec_policy_identity_model\nname = 'my-vpn-gateway-connection'\npeer_address = '203.0.113.5'\npsk = 'lkj14b1oi0alcniejkso'\n\nresponse = service.update_vpn_gateway_connection(\n vpn_gateway_id,\n id,\n admin_state_up=admin_state_up,\n dead_peer_detection=dead_peer_detection,\n ike_policy=ike_policy,\n ipsec_policy=ipsec_policy,\n name=name,\n peer_address=peer_address,\n psk=psk,\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_gateways/{vpn_gateway_id}/connections/{id}/local/cidrs": { "get": { "description": "This request lists local CIDRs for a VPN gateway connection.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "list_vpn_gateway_connections_local_cidrs", "responses": { "200": { "content": { "application/json": { "example": { "cidrs": [ "0.0.19.0/24" ] }, "schema": { "$ref": "#/components/schemas/VPNGatewayConnectionCIDRs" } } }, "description": "The CIDRs were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway connection with the specified identifier could not be found." } }, "summary": "List local CIDRs for a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-local-cidr.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/local/cidrs?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListVPNGatewayConnectionsLocalCidrsOptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\nlocalCIDRs, response, err :=\n vpcService.ListVPNGatewayConnectionsLocalCidrs(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpnGatewayConnectionsLocalCidrsOptions listVpnGatewayConnectionsLocalCidrsOptions = new ListVpnGatewayConnectionsLocalCidrsOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .build();\n\nResponse response = service.listVpnGatewayConnectionsLocalCidrs(listVpnGatewayConnectionsLocalCidrsOptions).execute();\nVPNGatewayConnectionCIDRs vpnGatewayConnectionCidRs = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpnGatewayConnectionsLocalCidrs({\n vpnGatewayId,\n id,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_vpn_gateway_connections_local_cidrs(\n vpn_gateway_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnGatewayId" }, { "$ref": "#/components/parameters/vpnGatewayConnectionCIDRIdUnqualified" } ] }, "/vpn_gateways/{vpn_gateway_id}/connections/{id}/local/cidrs/{cidr}": { "delete": { "description": "This request removes a CIDR from a VPN gateway connection.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "remove_vpn_gateway_connections_local_cidr", "responses": { "204": { "description": "The CIDR was successfully removed from the specified VPN gateway connection." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The last CIDR could not be removed from the specified VPN gateway connection." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The CIDR is not allowed to be removed from the specified VPN gateway connection." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified CIDR does not exist on the specified VPN gateway connection or the\nspecified VPN gateway connection could not be found." } }, "summary": "Remove a local CIDR from a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-local-cidr.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/local/cidrs/$cidr?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.RemoveVPNGatewayConnectionsLocalCIDROptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\noptions.SetCIDR(CIDR)\nresponse, err := vpcService.RemoveVPNGatewayConnectionsLocalCIDR(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RemoveVpnGatewayConnectionsLocalCidrOptions removeVpnGatewayConnectionsLocalCidrOptions = new RemoveVpnGatewayConnectionsLocalCidrOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .cidr(cidr)\n .build();\n\nResponse response = service.removeVpnGatewayConnectionsLocalCidr(removeVpnGatewayConnectionsLocalCidrOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnGatewayId,\n id,\n cidr,\n};\nconst response = await vpcService.removeVpnGatewayConnectionsLocalCidr(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.remove_vpn_gateway_connections_local_cidr(\n vpn_gateway_id, id, cidr)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request succeeds if a CIDR exists on the specified VPN gateway connection,\nand fails otherwise.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "check_vpn_gateway_connections_local_cidr", "responses": { "204": { "description": "The specified CIDR exists on the specified VPN gateway connection." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified CIDR does not exist on the specified VPN gateway connection\nor the specified VPN gateway connection could not be found." } }, "summary": "Check if the specified local CIDR exists on a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-local-cidr.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/local/cidrs/$cidr?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CheckVPNGatewayConnectionsLocalCIDROptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\noptions.SetCIDR(CIDR)\nresponse, err := vpcService.CheckVPNGatewayConnectionsLocalCIDR(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CheckVpnGatewayConnectionsLocalCidrOptions checkVpnGatewayConnectionsLocalCidrOptions = new CheckVpnGatewayConnectionsLocalCidrOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .cidr(cidr)\n .build();\n\nResponse response = service.checkVpnGatewayConnectionsLocalCidr(checkVpnGatewayConnectionsLocalCidrOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnGatewayId,\n id,\n cidr,\n};\n\nconst response = await vpcService.checkVpnGatewayConnectionsLocalCidr(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.check_vpn_gateway_connections_local_cidr(\n vpn_gateway_id, id, cidr)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnGatewayId" }, { "$ref": "#/components/parameters/vpnGatewayConnectionCIDRIdUnqualified" }, { "$ref": "#/components/parameters/cidr" } ], "put": { "description": "This request adds the specified CIDR to the specified VPN gateway connection. This request\nsucceeds if the specified CIDR already exists. A request body is not required, and if\nprovided, is ignored.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "add_vpn_gateway_connections_local_cidr", "responses": { "201": { "description": "The CIDR was successfully set on the specified VPN gateway connection." }, "204": { "description": "The CIDR is already set on the specified VPN gateway connection." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified CIDR was invalid." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The CIDR is not allowed to be set on the specified VPN gateway connection." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPN gateway connection could not be found." } }, "summary": "Set a local CIDR on a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-local-cidr.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.create" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/local/cidrs/$cidr?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.AddVPNGatewayConnectionsLocalCIDROptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\noptions.SetCIDR(CIDR)\nresponse, err := vpcService.AddVPNGatewayConnectionsLocalCIDR(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "AddVpnGatewayConnectionsLocalCidrOptions addVpnGatewayConnectionsLocalCidrOptions = new AddVpnGatewayConnectionsLocalCidrOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .cidr(cidr)\n .build();\n\nResponse response = service.addVpnGatewayConnectionsLocalCidr(addVpnGatewayConnectionsLocalCidrOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnGatewayId,\n id,\n cidr,\n};\nconst response = await vpcService.addVpnGatewayConnectionsLocalCidr(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.add_vpn_gateway_connections_local_cidr(\n vpn_gateway_id, id, cidr)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_gateways/{vpn_gateway_id}/connections/{id}/peer/cidrs": { "get": { "description": "This request lists peer CIDRs for a VPN gateway connection.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "list_vpn_gateway_connections_peer_cidrs", "responses": { "200": { "content": { "application/json": { "example": { "cidrs": [ "0.0.150.0/24" ] }, "schema": { "$ref": "#/components/schemas/VPNGatewayConnectionCIDRs" } } }, "description": "The CIDRs were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN gateway connection with the specified identifier could not be found." } }, "summary": "List peer CIDRs for a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-peer-cidr.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.list" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/peer/cidrs?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.ListVPNGatewayConnectionsPeerCidrsOptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\npeerCIDRs, response, err :=\n vpcService.ListVPNGatewayConnectionsPeerCidrs(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpnGatewayConnectionsPeerCidrsOptions listVpnGatewayConnectionsPeerCidrsOptions = new ListVpnGatewayConnectionsPeerCidrsOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .build();\n\nResponse response = service.listVpnGatewayConnectionsPeerCidrs(listVpnGatewayConnectionsPeerCidrsOptions).execute();\nVPNGatewayConnectionCIDRs vpnGatewayConnectionCidRs = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpnGatewayConnectionsPeerCidrs({\n id,\n vpnGatewayId,\n});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.list_vpn_gateway_connections_peer_cidrs(\n vpn_gateway_id, id)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnGatewayId" }, { "$ref": "#/components/parameters/vpnGatewayConnectionCIDRIdUnqualified" } ] }, "/vpn_gateways/{vpn_gateway_id}/connections/{id}/peer/cidrs/{cidr}": { "delete": { "description": "This request removes a CIDR from a VPN gateway connection.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "remove_vpn_gateway_connections_peer_cidr", "responses": { "204": { "description": "The CIDR was successfully removed from the specified VPN gateway connection." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The last CIDR could not be removed from the specified VPN gateway connection." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The CIDR is not allowed to be removed from the specified VPN gateway connection." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified CIDR does not exist on the specified VPN gateway connection or the\nspecified VPN gateway connection could not be found." } }, "summary": "Remove a peer CIDR from a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-peer-cidr.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/peer/cidrs/$cidr?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.RemoveVPNGatewayConnectionsPeerCIDROptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\noptions.SetCIDR(CIDR)\nresponse, err := vpcService.RemoveVPNGatewayConnectionsPeerCIDR(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "RemoveVpnGatewayConnectionsPeerCidrOptions removeVpnGatewayConnectionsPeerCidrOptions = new RemoveVpnGatewayConnectionsPeerCidrOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .cidr(cidr)\n .build();\n\nResponse response = service.removeVpnGatewayConnectionsPeerCidr(removeVpnGatewayConnectionsPeerCidrOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnGatewayId,\n id,\n cidr,\n};\n\nconst response = await vpcService.removeVpnGatewayConnectionsPeerCidr(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.remove_vpn_gateway_connections_peer_cidr(\n vpn_gateway_id, id, cidr)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request succeeds if a CIDR exists on the specified VPN gateway connection,\nand fails otherwise.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "check_vpn_gateway_connections_peer_cidr", "responses": { "204": { "description": "The specified CIDR exists on the specified VPN gateway connection." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified CIDR does not exist on the specified VPN gateway connection\nor the specified VPN gateway connection could not be found." } }, "summary": "Check if the specified peer CIDR exists on a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-peer-cidr.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/peer/cidrs/$cidr?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.CheckVPNGatewayConnectionsPeerCIDROptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\noptions.SetCIDR(CIDR)\nresponse, err := vpcService.CheckVPNGatewayConnectionsPeerCIDR(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CheckVpnGatewayConnectionsPeerCidrOptions checkVpnGatewayConnectionsPeerCidrOptions = new CheckVpnGatewayConnectionsPeerCidrOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .cidr(cidr)\n .build();\n\nResponse response = service.checkVpnGatewayConnectionsPeerCidr(checkVpnGatewayConnectionsPeerCidrOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnGatewayId,\n id,\n cidr,\n};\n\nconst response = await vpcService.checkVpnGatewayConnectionsPeerCidr(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.check_vpn_gateway_connections_peer_cidr(\n vpn_gateway_id, id, cidr)" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnGatewayId" }, { "$ref": "#/components/parameters/vpnGatewayConnectionCIDRIdUnqualified" }, { "$ref": "#/components/parameters/cidr" } ], "put": { "description": "This request adds the specified CIDR to the specified VPN gateway connection. This request\nsucceeds if the specified CIDR already exists. A request body is not required, and if\nprovided, is ignored.\n\nThis request is only supported for policy mode VPN gateways.", "operationId": "add_vpn_gateway_connections_peer_cidr", "responses": { "201": { "description": "The CIDR was successfully set on the specified VPN gateway connection." }, "204": { "description": "The CIDR is already set on the specified VPN gateway connection." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified CIDR was invalid." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The CIDR is not allowed to be set on the specified VPN gateway connection." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPN gateway connection could not be found." } }, "summary": "Set a peer CIDR on a VPN gateway connection", "tags": [ "VPN gateways" ], "x-ibm-events": { "events": [ { "name": "is.vpn.vpn-connection-peer-cidr.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn.vpn.read" }, { "name": "is.vpn.vpn.create" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PUT \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/connections/$connection_id/peer/cidrs/$cidr?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.AddVPNGatewayConnectionsPeerCIDROptions{}\noptions.SetVPNGatewayID(gatewayID)\noptions.SetID(connID)\noptions.SetCIDR(CIDR)\nresponse, err := vpcService.AddVPNGatewayConnectionsPeerCIDR(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "AddVpnGatewayConnectionsPeerCidrOptions addVpnGatewayConnectionsPeerCidrOptions = new AddVpnGatewayConnectionsPeerCidrOptions.Builder()\n .vpnGatewayId(vpnGatewayId)\n .id(id)\n .cidr(cidr)\n .build();\nResponse response = service.addVpnGatewayConnectionsPeerCidr(addVpnGatewayConnectionsPeerCidrOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnGatewayId,\n id,\n cidr,\n};\n\nconst response = await vpcService.addVpnGatewayConnectionsPeerCidr(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = service.add_vpn_gateway_connections_peer_cidr(\n vpn_gateway_id, id, cidr)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_servers": { "get": { "description": "This request lists VPN servers.", "operationId": "list_vpn_servers", "parameters": [ { "$ref": "#/components/parameters/name" }, { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/resourceGroup" }, { "$ref": "#/components/parameters/sort" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers?limit=50" }, "limit": 50, "total_count": 2, "vpn_servers": [ { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "a4841334.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "id": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server", "port": 443, "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-950efb61-5460-43e8-883a-95b96184cb05", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "badc3b88.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-950efb61-5460-43e8-883a-95b96184cb05", "id": "r006-950efb61-5460-43e8-883a-95b96184cb05", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-2", "port": 443, "private_ips": [ { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.3.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0737-943012e8-6f7d-42e8-acd6-e2afe2165261/reserved_ips/0737-976f31eb-461f-403f-a1cc-ee8447a28b71", "id": "0737-976f31eb-461f-403f-a1cc-ee8447a28b71", "name": "my-reserved-ip-z3-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-3:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0737-9f5a6bee-b370-43f3-8247-88b98f964397", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0737-9f5a6bee-b370-43f3-8247-88b98f964397", "id": "0737-9f5a6bee-b370-43f3-8247-88b98f964397", "name": "my-subnet-z3-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ] }, "schema": { "$ref": "#/components/schemas/VPNServerCollection" } } }, "description": "The VPN servers were retrieved successfully." } }, "summary": "List VPN servers", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_servers?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVPNServersOptions := &vpcv1.ListVPNServersOptions{}\nvpnServerCollection, response, err := vpcService.ListVPNServers(\n listVPNServersOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpnServersOptions listVpnServersOptions = new ListVpnServersOptions.Builder()\n .build();\n\nResponse response = vpcService.listVpnServers(listVpnServersOptions).execute();\nVPNServerCollection vpnServerCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const response = await vpcService.listVpnServers({});" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_collection = vpc_service.list_vpn_servers().get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" } ], "post": { "description": "This request creates a new VPN server.", "operationId": "create_vpn_server", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VPNServerPrototype" } } }, "description": "The VPN server prototype", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "a4841334.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "id": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server", "port": 443, "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPNServer" } } }, "description": "The VPN server was created successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN server prototype object was provided." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN server prototype object conflicts with another VPN server in the VPC,\nor the VPN server prototype object specified one or more of:\n\n- Specifies a subnet with no available IP addresses\n- A client address pool that overlaps with an address prefix in this VPC." } }, "summary": "Create a VPN server", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.create" }, { "name": "is.security-group.security-group.operate" }, { "description": "Required for any subnet on which `subnets` specifies a new reserved IP on a subnet", "name": "is.subnet.subnet.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n\"$vpc_api_endpoint/v1/vpn_servers?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n \"client_authentication\": [\n {\n \"method\": \"username\",\n \"identity_provider\": {\n \"provider_type\": \"iam\"\n }\n }\n ],\n \"client_ip_pool\": \"172.16.0.0/16\",\n \"client_dns_server_ips\": [\n {\n \"address\": \"161.26.0.7\"\n },\n {\n \"address\": \"161.26.0.8\"\n }\n ],\n \"certificate\": {\n \"crn\": \"crn\"\n },\n \"client_idle_timeout\": 10,\n \"name\": \"my-vpn-server\",\n \"port\": 443,\n \"protocol\": \"udp\",\n \"enable_split_tunneling\": false,\n \"security_groups\": [\n {\n \"id\": \"r006-0328643c-33a4-47b1-aff9-17820303c444\"\n }\n ],\n \"subnets\": [\n {\n \"id\": \"0717-b28a7e6d-a66b-4de7-8713-15dcffdce401\"\n },\n {\n \"id\": \"0727-0ec8d4aa-e0c0-4d1a-b772-26176603221e\"\n }\n ]\n}'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "certificateInstanceIdentityModel := &vpcv1.CertificateInstanceIdentityByCRN{\n CRN: certificateCRN, // Provide valid CRN of the certificate\n}\nvpnServerAuthenticationByUsernameIDProviderModel := &vpcv1.VPNServerAuthenticationByUsernameIDProviderByIam {\n ProviderType: &[]string{\"iam\"}[0],\n }\nvpnServerAuthenticationPrototypeModel := &vpcv1.VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype {\n Method: &[]string{\"certificate\"}[0],\n IdentityProvider: vpnServerAuthenticationByUsernameIDProviderModel,\n }\nsubnetIdentityModel := &vpcv1.SubnetIdentityByID{\n ID: &subnetId, // Provide a valid subnet Id\n}\ncreateVPNServerOptions := &vpcv1.CreateVPNServerOptions{\n Certificate: certificateInstanceIdentityModel,\n ClientAuthentication: []vpcv1.VPNServerAuthenticationPrototypeIntf{\n vpnServerAuthenticationPrototypeModel,\n },\n ClientIPPool: &[]string{\"172.16.0.0/16\"}[0],\n Subnets: []vpcv1.SubnetIdentityIntf{subnetIdentityModel},\n Name: &[]string{\"my-vpn-server\"}[0],\n}\nvpnServer, response, err := vpcService.CreateVPNServer(\n createVPNServerOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CertificateInstanceIdentityByCRN certificateInstanceIdentityModel = new CertificateInstanceIdentityByCRN.Builder()\n .crn(certificateCRN)\n .build();\nVPNServerAuthenticationByUsernameIdProviderByIAM vpnServerAuthenticationByUsernameIdProviderModel = new VPNServerAuthenticationByUsernameIdProviderByIAM.Builder()\n .providerType(\"iam\")\n .build();\nVPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype vpnServerAuthenticationPrototypeModel = new VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype.Builder()\n .method(\"certificate\")\n .identityProvider(vpnServerAuthenticationByUsernameIdProviderModel)\n .build();\nSubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n .id(subnetId)\n .build();\nCreateVpnServerOptions createVpnServerOptions = new CreateVpnServerOptions.Builder()\n .certificate(certificateInstanceIdentityModel)\n .clientAuthentication(new java.util.ArrayList(java.util.Arrays.asList(vpnServerAuthenticationPrototypeModel)))\n .clientIpPool(\"172.16.0.0/16\")\n .name(\"my-vpn-server\")\n .subnets(new java.util.ArrayList(java.util.Arrays.asList(subnetIdentityModel)))\n .build();\n\nResponse response = vpcService.createVpnServer(createVpnServerOptions).execute();\nVPNServer vpnServer = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const certificateInstanceIdentityModel = {\n crn: certificateCRN,\n};\n\nconst vpnServerAuthenticationByUsernameIdProviderModel = {\n provider_type: 'iam',\n};\n\nconst vpnServerAuthenticationPrototypeModel = {\n method: 'certificate',\n identity_provider: vpnServerAuthenticationByUsernameIdProviderModel,\n};\n\nconst subnetIdentityModel = {\n id: subnetId,\n};\n\nconst params = {\n name: 'my-vpn-server',\n certificate: certificateInstanceIdentityModel,\n clientAuthentication: [vpnServerAuthenticationPrototypeModel],\n clientIpPool: '172.16.0.0/16',\n subnets: [subnetIdentityModel],\n};\n\nconst response = await vpcService.createVpnServer(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "certificate_instance_identity_model = {\n'crn': certificate_crn,\n}\n\nvpn_server_authentication_by_username_id_provider_model = {\n 'provider_type': 'iam',\n}\n\nvpn_server_authentication_prototype_model = {\n 'method': 'certificate',\n 'identity_provider': vpn_server_authentication_by_username_id_provider_model,\n}\n\nsubnet_identity_model = {\n 'id': subnetId,\n}\n\nvpn_server = vpc_service.create_vpn_server(\n certificate=certificate_instance_identity_model,\n client_authentication=[vpn_server_authentication_prototype_model],\n client_ip_pool='172.16.0.0/16',\n subnets=[subnet_identity_model],\n name='my-vpn-server'\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_servers/{id}": { "delete": { "description": "This request deletes a VPN server. This operation cannot be reversed.", "operationId": "delete_vpn_server", "parameters": [ { "$ref": "#/components/parameters/ifMatch" } ], "responses": { "202": { "description": "The VPN server deletion request was accepted." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN server is not allowed to be deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN server with the specified identifier could not be found." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the VPN server." } }, "summary": "Delete a VPN server", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.delete" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteVPNServerOptions := vpcService.NewDeleteVPNServerOptions(\n vpnServerID,\n)\ndeleteVPNServerOptions.SetIfMatch(vpnServerETag)\nresponse, err := vpcService.DeleteVPNServer(\n deleteVPNServerOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpnServerOptions deleteVpnServerOptions = new DeleteVpnServerOptions.Builder()\n .id(vpnServerId)\n .ifMatch(vpnServerETag)\n .build();\n\nResponse response = vpcService.deleteVpnServer(deleteVpnServerOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: vpnServerId,\n ifMatch: vpnServerETag,\n};\n\nconst response = await vpcService.deleteVpnServer(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_vpn_server(\n id=vpnServerId,\n if_match=vpnServerETag\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single VPN server specified by the identifier\nin the URL.", "operationId": "get_vpn_server", "parameters": [], "responses": { "200": { "content": { "application/json": { "example": { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "a4841334.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "id": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server", "port": 443, "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPNServer" } } }, "description": "The VPN server was retrieved successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN server with the specified identifier could not be found." } }, "summary": "Retrieve a VPN server", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVPNServerOptions := &vpcv1.GetVPNServerOptions{\n ID: &vpnServerID, // Provide a valid VPN Server ID\n}\nvpnServer, response, err := vpcService.GetVPNServer(\n getVPNServerOptions,\n)\nvpnServerETag = response.Headers.Get(\"ETag\")" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpnServerOptions getVpnServerOptions = new GetVpnServerOptions.Builder()\n .id(vpnServerId)\n .build();\n\nResponse response = vpcService.getVpnServer(getVpnServerOptions).execute();\nVPNServer vpnServer = response.getResult();\nString vpnServerETag = response.getHeaders().values(\"ETag\").get(0);" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: vpnServerId,\n};\n\nconst response = await vpcService.getVpnServer(params);\nconst vpnServerETag = response.headers.ETag" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_response = vpc_service.get_vpn_server(\n id=vpnServerId\n)\nvpnServerETag = vpn_server_response.get_headers()['ETag']\nvpn_server = vpn_server_response.get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnServerIdUnqualified" } ], "patch": { "description": "This request updates the properties of an existing VPN server. Any updates\nother than to `name` will cause all connected VPN clients to be disconnected.", "operationId": "update_vpn_server", "parameters": [ { "$ref": "#/components/parameters/ifMatchPatchContext" } ], "requestBody": { "content": { "application/merge-patch+json": { "example": { "name": "my-vpn-server-updated" }, "schema": { "$ref": "#/components/schemas/VPNServerPatch" } } }, "description": "The VPN server patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "a4841334.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "id": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-updated", "port": 443, "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "schema": { "$ref": "#/components/schemas/VPNServer" } } }, "description": "The VPN server was updated successfully.", "headers": { "ETag": { "$ref": "#/components/headers/eTag" } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN server patch was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN server is not allowed to be updated." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPC with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN server patch conflicts with other VPN servers in the VPC, or\none or more of the following:\n\n- The VPN server cannot be updated while it is being deleted\n- The client address pool overlaps with an address prefix in this VPC." }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The provided `If-Match` value does not match the current ETag value of the VPN server." } }, "summary": "Update a VPN server", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.update" }, { "description": "Required for any subnet on which `subnets` specifies a new reserved IP on a subnet", "name": "is.subnet.subnet.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-vpn-server-1-updated\" }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "options := &vpcv1.UpdateVPNServerOptions{\n ID: &vpnServerID, // Provide a valid VPN Server ID\n}\nvpnServerPatchModel := &vpcv1.VPNServerPatch{\n Name: &[]string{\"my-vpn-server-updated\"}[0],\n}\nvpnServerPatchModelAsPatch, asPatchErr := vpnServerPatchModel.AsPatch()\noptions.VPNServerPatch = vpnServerPatchModelAsPatch\nvpnServer, response, err := vpcService.UpdateVPNServer(options)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VPNServerPatch vpnServerPatchModel = new VPNServerPatch.Builder()\n .name(\"my-vpn-server-updated\")\n .build();\nMap vpnServerPatchModelAsPatch = vpnServerPatchModel.asPatch();\nUpdateVpnServerOptions updateVpnServerOptions = new UpdateVpnServerOptions.Builder()\n .id(vpnServerId)\n .vpnServerPatch(vpnServerPatchModelAsPatch)\n .ifMatch(vpnServerETag)\n .build();\n\nResponse response = vpcService.updateVpnServer(updateVpnServerOptions).execute();\nVPNServer vpnServer = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: vpnServerId,\n name: 'my-vpn-server-updated',\n ifMatch: vpnServerETag,\n};\n\nconst = await vpcService.updateVpnServer(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_patch_model = {}\nvpn_server_patch_model['name']='my-vpn-server-updated'\n\nvpn_server = vpc_service.update_vpn_server(\n id=vpnServerId,\n vpn_server_patch=vpn_server_patch_model,\n if_match=vpnServerETag\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_servers/{id}/client_configuration": { "get": { "description": "This request retrieves OpenVPN client configuration on a single VPN\nserver specified by the identifier in the URL. This configuration\nincludes directives compatible with OpenVPN releases 2.4 and 2.5", "operationId": "get_vpn_server_client_configuration", "responses": { "200": { "content": { "text/plain": { "example": "client\nproto udp\nremote a8506291.us-south.vpn-server.appdomain.cloud\nport 443\n\ndev tun\nnobind\n\n-----BEGIN CERTIFICATE-----\nxxxxxx\n-----END CERTIFICATE-----\n", "schema": { "$ref": "#/components/schemas/VPNServerClientConfiguration" } } }, "description": "The client configuration was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN server with the specified identifier could not be found." }, "406": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The media type specified in `Accept` request header is not\nacceptable. Only the media type `text/plain` is supported." } }, "summary": "Retrieve client configuration", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-configuration.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n\"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/client_configuration?version=2025-08-12&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVPNServerClientConfigurationOptions := &vpcv1.GetVPNServerClientConfigurationOptions{\n ID: &vpnServerID, // Provide a valid VPN Server ID\n }\nvpnServerClientConfiguration, response, err := vpcService.GetVPNServerClientConfiguration(\n getVPNServerClientConfigurationOptions,\n )" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpnServerClientConfigurationOptions getVpnServerClientConfigurationOptions = new GetVpnServerClientConfigurationOptions.Builder()\n .id(vpnServerId)\n .build();\n\nResponse response = vpcService.getVpnServerClientConfiguration(getVpnServerClientConfigurationOptions).execute();\nString vpnServerClientConfiguration = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n id: vpnServerId,\n};\n\nconst response = await vpcService.getVpnServerClientConfiguration(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_client_configuration = vpc_service.get_vpn_server_client_configuration(\n id=vpnServerId\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnServerIdUnqualified" } ] }, "/vpn_servers/{vpn_server_id}/clients": { "get": { "description": "This request retrieves connected VPN clients, and any disconnected VPN clients that the VPN\nserver has not yet deleted based on its auto-deletion policy.", "operationId": "list_vpn_server_clients", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/vpnServerClientSort" } ], "responses": { "200": { "content": { "application/json": { "example": { "clients": [ { "client_ip": { "address": "192.168.0.2" }, "created_at": "2025-02-02T04:42:42Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients/r006-b37832e2-7abe-4b20-a292-c70b007569c6", "id": "r006-b37832e2-7abe-4b20-a292-c70b007569c6", "remote_ip": { "address": "202.1.23.33" }, "remote_port": 54632, "resource_type": "vpn_server_client", "status": "connected", "username": "my-vpn-server-client-1" }, { "client_ip": { "address": "192.168.0.3" }, "created_at": "2025-01-31T04:42:42Z", "disconnected_at": "2025-02-04T04:08:10Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients/r006-af263292-1a86-4f65-9d9b-ec2abcdb6d8f", "id": "r006-af263292-1a86-4f65-9d9b-ec2abcdb6d8f", "remote_ip": { "address": "202.1.23.36" }, "remote_port": 54638, "resource_type": "vpn_server_client", "status": "disconnected", "username": "my-vpn-server-client-2" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients?limit=50" }, "limit": 50, "total_count": 2 }, "schema": { "$ref": "#/components/schemas/VPNServerClientCollection" } } }, "description": "The VPN clients were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPN server could not be found." } }, "summary": "List VPN clients for a VPN server", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-client.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/clients?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVPNServerClientsOptions := &vpcv1.ListVPNServerClientsOptions{\n VPNServerID: &vpnServerID, // Provide a valid VPN Server ID\n}\nvpnServerClientCollection, response, err := vpcService.ListVPNServerClients(\n listVPNServerClientsOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpnServerClientsOptions listVpnServerClientsOptions = new ListVpnServerClientsOptions.Builder()\n .vpnServerId(vpnServerId)\n .build();\n\nResponse response = vpcService.listVpnServerClients(listVpnServerClientsOptions).execute();\nVPNServerClientCollection vpnServerClientCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n};\n\nconst response = await vpcService.listVpnServerClients(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_client_collection = vpc_service.list_vpn_server_clients(\n vpn_server_id=vpnServerId\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnServerId" } ] }, "/vpn_servers/{vpn_server_id}/clients/{id}": { "delete": { "description": "This request disconnects and deletes the VPN client from the VPN server.\nThe VPN client may reconnect unless its authentication permissions for\nthe configured authentication methods (such as its client certificate)\nhave been revoked.", "operationId": "delete_vpn_server_client", "responses": { "202": { "description": "The VPN client deletion request was accepted." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN client is not allowed to be deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN client with the specified identifier could not be found." } }, "summary": "Delete a VPN client", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-client.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/clients/$client_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteVPNServerClientOptions := vpcService.NewDeleteVPNServerClientOptions(\n vpnServerID, // Provide valid VPN Server Id\n vpnClientID, // Provide valid VPN Server's client Id\n)\nresponse, err := vpcService.DeleteVPNServerClient(\n deleteVPNServerClientOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpnServerClientOptions deleteVpnServerClientOptions = new DeleteVpnServerClientOptions.Builder()\n .vpnServerId(vpnServerId)\n .id(vpnServerClientId)\n .build();\n\nResponse response = vpcService.deleteVpnServerClient(deleteVpnServerClientOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n id: vpnServerClientId,\n};\n\nconst response = await vpcService.deleteVpnServerClient(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_vpn_server_client(\n vpn_server_id=vpnServerId,\n id=vpnServerClientId\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single VPN client specified by the identifier in\nthe URL.", "operationId": "get_vpn_server_client", "responses": { "200": { "content": { "application/json": { "example": { "client_ip": { "address": "192.168.0.2" }, "created_at": "2025-02-02T04:42:42Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients/r006-b37832e2-7abe-4b20-a292-c70b007569c6", "id": "r006-b37832e2-7abe-4b20-a292-c70b007569c6", "remote_ip": { "address": "202.1.23.33" }, "remote_port": 54632, "resource_type": "vpn_server_client", "status": "connected", "username": "my-vpn-server-client-1" }, "schema": { "$ref": "#/components/schemas/VPNServerClient" } } }, "description": "The VPN client was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN client with the specified identifier could not be found." } }, "summary": "Retrieve a VPN client", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-client.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/clients/$client_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVPNServerClientOptions := vpcService.NewGetVPNServerClientOptions(\n vpnServerID, // Provide valid VPN Server Id\n vpnClientID, // Provide valid VPN Server's client Id\n)\nvpnServerClient, response, err := vpcService.GetVPNServerClient(\n getVPNServerClientOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpnServerClientOptions getVpnServerClientOptions = new GetVpnServerClientOptions.Builder()\n .vpnServerId(vpnServerId)\n .id(vpnServerClientId)\n .build();\n\nResponse response = vpcService.getVpnServerClient(getVpnServerClientOptions).execute();\nVPNServerClient vpnServerClient = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n id: vpnServerClientId,\n};\n\nconst response = await vpcService.getVpnServerClient(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_client = vpc_service.get_vpn_server_client(\n vpn_server_id=vpnServerId,\n id=vpnServerClientId\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnServerId" }, { "$ref": "#/components/parameters/vpnServerClientIdUnqualified" } ] }, "/vpn_servers/{vpn_server_id}/clients/{id}/disconnect": { "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnServerId" }, { "$ref": "#/components/parameters/vpnServerClientIdUnqualified" } ], "post": { "description": "This request disconnects the specified VPN client, and deletes the client according to\nthe VPN server's auto-deletion policy. The VPN client may reconnect unless its\nauthentication permissions for the configured authentication methods (such as its client\ncertificate) have been revoked.", "operationId": "disconnect_vpn_client", "responses": { "202": { "description": "The VPN client disconnection request was accepted." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN route is not allowed to be disconnected." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN client with the specified identifier could not be found." } }, "summary": "Disconnect a VPN client", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-client.disconnect" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.operate" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/clients/$client_id/disconnect?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "disconnectVPNClientOptions := vpcService.NewDisconnectVPNClientOptions(\n vpnServerID, // Provide valid VPN Server Id\n vpnClientID, // Provide valid VPN Server's client Id\n)\nresponse, err := vpcService.DisconnectVPNClient(disconnectVPNClientOptions)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DisconnectVpnClientOptions disconnectVpnClientOptions = new DisconnectVpnClientOptions.Builder()\n .vpnServerId(vpnServerId)\n .id(vpnServerClientId)\n .build();\n\nResponse response = vpcService.disconnectVpnClient(disconnectVpnClientOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n id: vpnServerClientId,\n};\n\nconst response = await vpcService.disconnectVpnClient(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.disconnect_vpn_client(\n vpn_server_id=vpnServerId,\n id=vpnServerClientId\n)" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_servers/{vpn_server_id}/routes": { "get": { "description": "This request lists VPN routes in a VPN server. All VPN routes are provided to\nthe VPN client when the connection is established. Packets received from the VPN\nclient will be dropped by the VPN server if there is no VPN route matching\ntheir specified destinations. All VPN routes must be unique within the VPN server.", "operationId": "list_vpn_server_routes", "parameters": [ { "$ref": "#/components/parameters/start" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/sort" } ], "responses": { "200": { "content": { "application/json": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes?limit=50" }, "limit": 50, "routes": [ { "action": "deliver", "created_at": "2025-03-12T21:14:11Z", "destination": "192.168.32.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "id": "r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route", "resource_type": "vpn_server_route" }, { "action": "translate", "created_at": "2025-03-12T20:12:18Z", "destination": "192.0.2.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-9cdddd42-8ce1-4ca9-ba65-06ffd4d6cf19", "id": "r006-9cdddd42-8ce1-4ca9-ba65-06ffd4d6cf19", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route-2", "resource_type": "vpn_server_route" } ], "total_count": 2 }, "schema": { "$ref": "#/components/schemas/VPNServerRouteCollection" } } }, "description": "The VPN routes were retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPN server could not be found." } }, "summary": "List VPN routes for a VPN server", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-route.list" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/routes?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "listVPNServerRoutesOptions := vpcService.NewListVPNServerRoutesOptions(\n vpnServerID, // Provide valid VPN Server Id\n)\nvpnServerRouteCollection, response, err := vpcService.ListVPNServerRoutes(\n listVPNServerRoutesOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "ListVpnServerRoutesOptions listVpnServerRoutesOptions = new ListVpnServerRoutesOptions.Builder()\n .vpnServerId(vpnServerId)\n .build();\n\nResponse response = vpcService.listVpnServerRoutes(listVpnServerRoutesOptions).execute();\nVPNServerRouteCollection vpnServerRouteCollection = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n};\n\nconst response = await vpcService.listVpnServerRoutes(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_route_collection = vpc_service.list_vpn_server_routes(\n vpn_server_id=vpnServerId,\n sort='name'\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnServerId" } ], "post": { "description": "This request creates a new VPN route in the VPN server. All VPN routes\nare provided to the VPN client when the connection is established.\nPackets received from the VPN client will be dropped by the VPN server\nif there is no VPN route matching their specified destinations. All VPN\nroutes must be unique within the VPN server.", "operationId": "create_vpn_server_route", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VPNServerRoutePrototype" } } }, "description": "The VPN route prototype object", "required": true }, "responses": { "201": { "content": { "application/json": { "example": { "action": "deliver", "created_at": "2025-03-12T21:14:11Z", "destination": "192.168.32.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "id": "r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route", "resource_type": "vpn_server_route" }, "schema": { "$ref": "#/components/schemas/VPNServerRoute" } } }, "description": "The VPN route was created successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN route prototype object was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN route is not allowed to be created." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The specified VPN server could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN route prototype object conflicts with another VPN route in the VPN server." } }, "summary": "Create a VPN route for a VPN server", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-route.create" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X POST \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/routes/$route_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-vpn-server-route\",\n \"destination\": \"192.168.32.0/24\",\n \"action\": \"deliver\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "createVPNServerRouteOptions := &vpcv1.CreateVPNServerRouteOptions{\n VPNServerID: &vpnServerID, // Provide valid VPN Server Id\n Destination: &[]string{\"172.16.0.0/16\"}[0],\n Name: &[]string{\"my-vpn-server-route\"}[0],\n}\ncreateVPNServerRouteOptions.VPNServerID = &vpnServerID // Provide valid VPN Server Id\nvpnServerRoute, response, err := vpcService.CreateVPNServerRoute(\n createVPNServerRouteOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "CreateVpnServerRouteOptions createVpnServerRouteOptions = new CreateVpnServerRouteOptions.Builder()\n .vpnServerId(vpnServerId)\n .destination(\"172.16.0.0/16\")\n .name(\"my-vpn-server-route\")\n .build();\n\nResponse response = vpcService.createVpnServerRoute(createVpnServerRouteOptions).execute();\nVPNServerRoute vpnServerRoute = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n destination: '172.16.0.0/16',\n name: 'my-vpn-server-route',\n};\n\nconst response = await vpcService.createVpnServerRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_route = vpc_service.create_vpn_server_route(\n vpn_server_id=vpnServerId,\n destination='172.16.0.0/16',\n name='my-vpn-server-route'\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } }, "/vpn_servers/{vpn_server_id}/routes/{id}": { "delete": { "description": "This request deletes a VPN route. This operation cannot be reversed.", "operationId": "delete_vpn_server_route", "responses": { "202": { "description": "The VPN route deletion request was accepted." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN route is not allowed to be deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN route with the specified identifier could not be found." } }, "summary": "Delete a VPN route", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-route.delete" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X DELETE \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/routes/$route_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "deleteVPNServerRouteOptions := vpcService.NewDeleteVPNServerRouteOptions(\n vpnServerID, // Provide valid VPN Server Id\n vpnServerRouteID, // Provide valid VPN Server's route Id\n)\nresponse, err := vpcService.DeleteVPNServerRoute(\n deleteVPNServerRouteOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "DeleteVpnServerRouteOptions deleteVpnServerRouteOptions = new DeleteVpnServerRouteOptions.Builder()\n .vpnServerId(vpnServerId)\n .id(vpnServerRouteId)\n .build();\n\nResponse response = vpcService.deleteVpnServerRoute(deleteVpnServerRouteOptions).execute();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n id: vpnServerRouteId,\n};\n\nconst response = await vpcService.deleteVpnServerRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "response = vpc_service.delete_vpn_server_route(\n vpn_server_id=vpnServerId,\n id=vpnServerRouteId\n)" ], "type": "code" } ], "name": "Example request" } ] } } }, "get": { "description": "This request retrieves a single VPN route specified by the identifier in the URL.", "operationId": "get_vpn_server_route", "responses": { "200": { "content": { "application/json": { "example": { "action": "deliver", "created_at": "2025-03-12T21:14:11Z", "destination": "192.168.32.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "id": "r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route", "resource_type": "vpn_server_route" }, "schema": { "$ref": "#/components/schemas/VPNServerRoute" } } }, "description": "The VPN route was retrieved successfully." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN route with the specified identifier could not be found." } }, "summary": "Retrieve a VPN route", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-route.read" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.read" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X GET \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/routes/$route_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\"" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "getVPNServerRouteOptions := vpcService.NewGetVPNServerRouteOptions(\n vpnServerID,\n vpnServerRouteID,\n)\nvpnServerRoute, response, err := vpcService.GetVPNServerRoute(\n getVPNServerRouteOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "GetVpnServerRouteOptions getVpnServerRouteOptions = new GetVpnServerRouteOptions.Builder()\n .vpnServerId(vpnServerId)\n .id(vpnServerRouteId)\n .build();\n\nResponse response = vpcService.getVpnServerRoute(getVpnServerRouteOptions).execute();\nVPNServerRoute vpnServerRoute = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n id: vpnServerRouteId,\n};\n\nconst response = await vpcService.getVpnServerRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_route = vpc_service.get_vpn_server_route(\n vpn_server_id=vpnServerId,\n id=vpnServerRouteId\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } }, "parameters": [ { "$ref": "#/components/parameters/version" }, { "$ref": "#/components/parameters/generation" }, { "$ref": "#/components/parameters/vpnServerId" }, { "$ref": "#/components/parameters/vpnServerRouteIdUnqualified" } ], "patch": { "description": "This request updates a VPN route with the information in a provided VPN route\npatch. The VPN route patch object is structured in the same way as a\nretrieved VPN route and contains only the information to be updated.", "operationId": "update_vpn_server_route", "requestBody": { "content": { "application/merge-patch+json": { "example": { "name": "my-vpn-server-route-updated" }, "schema": { "$ref": "#/components/schemas/VPNServerRoutePatch" } } }, "description": "The VPN route patch", "required": true }, "responses": { "200": { "content": { "application/json": { "example": { "action": "deliver", "created_at": "2025-03-12T21:14:11Z", "destination": "192.168.32.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "id": "r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route-updated", "resource_type": "vpn_server_route" }, "schema": { "$ref": "#/components/schemas/VPNServerRoute" } } }, "description": "The VPN route was updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "An invalid VPN route patch was provided." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN route is not allowed to be updated." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "A VPN route with the specified identifier could not be found." }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorContainer" } } }, "description": "The VPN route cannot be updated while it is being deleted." } }, "summary": "Update a VPN route", "tags": [ "VPN servers" ], "x-ibm-events": { "events": [ { "name": "is.vpn-server.vpn-server-route.update" } ] }, "x-ibm-permissions": { "actions": [ { "name": "is.vpn-server.vpn-server.update" } ] }, "x-sdk-operations": { "request-examples": { "curl": [ { "example": [ { "lang": "curl", "source": [ "curl -X PATCH \\\n \"$vpc_api_endpoint/v1/vpn_servers/$vpn_server_id/routes/$route_id?version=2025-08-12&generation=2\" \\\n -H \"Authorization: Bearer $iam_token\" \\\n -d '{\n \"name\": \"my-vpn-server-route-2\"\n }'" ], "type": "code" } ], "name": "Example request" } ], "go": [ { "example": [ { "lang": "go", "source": [ "vpnServerRoutePatchModel := &vpcv1.VPNServerRoutePatch{}\nvpnServerRoutePatchModel[\"name\"] = \"my-vpn-server-route-updated\"\nvpnServerRoutePatchModelAsPatch, asPatchErr := vpnServerRoutePatchModel.AsPatch()\nupdateVPNServerRouteOptions := &vpcv1.UpdateVPNServerRouteOptions{\n VPNServerID: &vpnServerID, // Provide valid VPN Server Id\n ID: &vpnServerRouteID, // Provide valid VPN Server's route Id\n VPNServerRoutePatch: vpnServerRoutePatchModelAsPatch,\n}\nvpnServerRoute, response, err := vpcService.UpdateVPNServerRoute(\n updateVPNServerRouteOptions,\n)" ], "type": "code" } ], "name": "Example request" } ], "java": [ { "example": [ { "lang": "java", "source": [ "VPNServerRoutePatch vpnServerRoutePatchModel = new VPNServerRoutePatch.Builder()\n .name(\"my-vpn-server-route-updated\")\n .build();\nMap vpnServerRoutePatchModelAsPatch = vpnServerRoutePatchModel.asPatch();\nUpdateVpnServerRouteOptions updateVpnServerRouteOptions = new UpdateVpnServerRouteOptions.Builder()\n .vpnServerId(vpnServerId)\n .id(vpnServerRouteId)\n .vpnServerRoutePatch(vpnServerRoutePatchModelAsPatch)\n .build();\n\nResponse response = vpcService.updateVpnServerRoute(updateVpnServerRouteOptions).execute();\nVPNServerRoute vpnServerRoute = response.getResult();" ], "type": "code" } ], "name": "Example request" } ], "node": [ { "example": [ { "lang": "node", "source": [ "const params = {\n vpnServerId: vpnServerId,\n id: vpnServerRouteId,\n name: 'my-vpn-server-route-updated',\n};\n\nconst response = await vpcService.updateVpnServerRoute(params);" ], "type": "code" } ], "name": "Example request" } ], "python": [ { "example": [ { "lang": "python", "source": [ "vpn_server_route_patch_model = {}\nvpn_server_route_patch_model['name']='my-vpn-server-route-updated'\nvpn_server_route = vpc_service.update_vpn_server_route(\n vpn_server_id=vpnServerId,\n id=vpnServerRouteId,\n vpn_server_route_patch=vpn_server_route_patch_model\n).get_result()" ], "type": "code" } ], "name": "Example request" } ] } } } } }, "openapi": "3.0.0", "info": { "description": "The IBM Cloud Virtual Private Cloud (VPC) API can be used to programmatically provision and\nmanage virtual server instances, along with subnets, volumes, load balancers, and more.", "title": "Virtual Private Cloud API", "version": "today", "x-alternate-name": "vpc", "x-codegen-config": { "go": { "apiPackage": "github.ibm.com/ibmcloud/vpc-go-sdk", "improvedNameFormatting": true }, "java": { "apiPackage": "com.ibm.cloud.is", "improvedNameFormatting": true }, "node": { "improvedNameFormatting": true }, "python": { "apiPackage": "ibm_vpc", "improvedNameFormatting": true } }, "x-ibm-built-on": "2025-08-12", "x-ibm-end-version": "2025-08-12", "x-ibm-start-version": "2025-06-30", "x-sdk-supported-languages": [ "go", "python", "java", "node" ], "x-last-updated": "2025-08-12" }, "components": { "headers": { "eTag": { "description": "An opaque value representing the modifiable state of the resource. Methods such as `PATCH`\nmay allow or require this value be provided using an `If-Match` header to protect against\nconcurrent modifications.", "required": true, "schema": { "$ref": "#/components/schemas/ETag" } } }, "parameters": { "account": { "description": "Filters the collection to resources with an `account.id` property matching the specified\nidentifier.", "in": "query", "name": "account.id", "required": false, "schema": { "$ref": "#/components/schemas/AccountID" } }, "backupPolicyId": { "description": "The backup policy identifier", "in": "path", "name": "backup_policy_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "backupPolicyIdUnqualified": { "description": "The backup policy identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "backupPolicyJobIdUnqualified": { "description": "The backup policy job identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "backupPolicyJobSource": { "description": "Filters the collection to backup policy jobs with a `source.id` property matching the\nspecified identifier.", "in": "query", "name": "source.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "backupPolicyJobStatus": { "description": "Filters the collection to backup policy jobs with a `status` property matching the specified\nvalue.", "in": "query", "name": "status", "required": false, "schema": { "$ref": "#/components/schemas/BackupPolicyJobStatus" } }, "backupPolicyJobTargetSnapshots": { "description": "Filters the collection to backup policy jobs with an item in the `target_snapshots` property\nwith an `id` property matching the specified identifier.", "in": "query", "name": "target_snapshots[].id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "backupPolicyJobTargetSnapshotsByCRN": { "description": "Filters the collection to backup policy jobs with an item in the `target_snapshots` property\nwith a `crn` property matching the specified CRN.", "in": "query", "name": "target_snapshots[].crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "backupPolicyPlan": { "description": "Filters the collection to backup policy jobs with a `backup_policy_plan.id` property\nmatching the specified identifier.", "in": "query", "name": "backup_policy_plan.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "backupPolicyPlanIdUnqualified": { "description": "The backup policy plan identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "bareMetalServerConsoleAccessToken": { "description": "A URL safe single-use token used to access the console WebSocket.", "in": "query", "name": "access_token", "required": false, "schema": { "$ref": "#/components/schemas/AccessToken" } }, "bareMetalServerDiskIdUnqualified": { "description": "The bare metal server disk identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "bareMetalServerId": { "description": "The bare metal server identifier", "in": "path", "name": "bare_metal_server_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "bareMetalServerIdUnqualified": { "description": "The bare metal server identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "bareMetalServerNetworkAttachmentIdUnqualified": { "description": "The bare metal server network attachment identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "bareMetalServerNetworkInterfaceId": { "description": "The bare metal server network interface identifier", "in": "path", "name": "network_interface_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "bareMetalServerNetworkInterfaceIdUnqualified": { "description": "The bare metal server network interface identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "cidr": { "description": "The IP address range in CIDR block notation.", "example": "192.168.1.0/24", "in": "path", "name": "cidr", "required": true, "schema": { "example": "192.168.3.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" } }, "clusterNetworkId": { "description": "The cluster network identifier", "in": "path", "name": "cluster_network_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "clusterNetworkIdUnqualified": { "description": "The cluster network identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "clusterNetworkInterfaceIdUnqualified": { "description": "The cluster network interface identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "clusterNetworkProfileName": { "description": "The cluster network profile name", "in": "path", "name": "name", "required": true, "schema": { "example": "h100", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "clusterNetworkSubnetId": { "description": "The cluster network subnet identifier", "in": "path", "name": "cluster_network_subnet_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "clusterNetworkSubnetIdUnqualified": { "description": "The cluster network subnet identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "clusterNetworkSubnetReservedIPIdUnqualified": { "description": "The cluster network subnet reserved IP identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "clusterNetworkVPC": { "description": "Filters the collection to cluster networks with a `vpc.id` property matching the\nspecified id.", "in": "query", "name": "vpc.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "clusterNetworkVPCByCRN": { "description": "Filters the collection to cluster networks with a `vpc.crn` property matching the\nspecified CRN.", "in": "query", "name": "vpc.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "clusterNetworkVPCByName": { "description": "Filters the collection to cluster networks with a `vpc.name` property matching the\nspecified name.", "in": "query", "name": "vpc.name", "required": false, "schema": { "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "dedicatedHostDiskIdUnqualified": { "description": "The dedicated host disk identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "dedicatedHostGroup": { "description": "Filters the collection to dedicated hosts with a `group.id` property matching the specified\nidentifier.", "in": "query", "name": "dedicated_host_group.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "dedicatedHostGroupIdUnqualified": { "description": "The dedicated host group identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "dedicatedHostId": { "description": "The dedicated host identifier", "in": "path", "name": "dedicated_host_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "dedicatedHostIdUnqualified": { "description": "The dedicated host identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "diskIdUnqualified": { "description": "The instance disk identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "encryption": { "description": "Filters the collection to resources with an `encryption` property matching the specified\nvalue.", "in": "query", "name": "encryption", "required": false, "schema": { "$ref": "#/components/schemas/EncryptionType" } }, "endpointGatewayAllowDNSResolutionBinding": { "description": "Filters the collection to endpoint gateways with an `allow_dns_resolution_binding` property\nmatching the specified value.", "in": "query", "name": "allow_dns_resolution_binding", "required": false, "schema": { "type": "boolean" } }, "endpointGatewayId": { "description": "The endpoint gateway identifier", "in": "path", "name": "endpoint_gateway_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "endpointGatewayIdUnqualified": { "description": "The endpoint gateway identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "floatingIPIdUnqualified": { "description": "The floating IP identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "flowLogCollectorIdUnqualified": { "description": "The flow log collector identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "generation": { "description": "The infrastructure generation. For the API behavior documented here, specify\n`2`.", "in": "query", "name": "generation", "required": true, "schema": { "enum": [ 2 ], "format": "int32", "type": "integer" }, "x-sdk-global-param": true }, "ifMatch": { "description": "If present, the request will fail if the specified ETag value does not match the resource's\ncurrent ETag value.", "in": "header", "name": "If-Match", "required": false, "schema": { "$ref": "#/components/schemas/ETag" } }, "ifMatchPatchContext": { "description": "If present, the request will fail if the specified ETag value does not match the resource's\ncurrent ETag value. Required if the request body includes an array.", "in": "header", "name": "If-Match", "required": false, "schema": { "$ref": "#/components/schemas/ETag" } }, "ifMatchPatchContextUnquoted": { "description": "If present, the request will fail if the specified ETag value does not match the resource's\ncurrent ETag value. Required if the request body includes an array.", "in": "header", "name": "If-Match", "required": false, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } }, "ifMatchUnquoted": { "description": "If present, the request will fail if the specified ETag value does not match the resource's\ncurrent ETag value.", "in": "header", "name": "If-Match", "required": false, "schema": { "example": "W/96d225c4-56bd-43d9-98fc-d7148e5c5028", "maxLength": 512, "minLength": 2, "pattern": "^(W/)?[\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]+$", "type": "string" } }, "ikePolicyIdUnqualified": { "description": "The IKE policy identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "imageExportJobIdUnqualified": { "description": "The image export job identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "imageId": { "description": "The image identifier", "in": "path", "name": "image_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "imageIdUnqualified": { "description": "The image identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceClusterNetwork": { "description": "Filters the collection to instances with a `cluster_network.id` property matching the\nspecified identifier.", "in": "query", "name": "cluster_network.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceClusterNetworkAttachmentIdUnqualified": { "description": "The instance cluster network attachment identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceClusterNetworkByCRN": { "description": "Filters the collection to instances with a `cluster_network.crn` property matching the\nspecified CRN.", "in": "query", "name": "cluster_network.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "instanceClusterNetworkByName": { "description": "Filters the collection to resources with a `cluster_network.name` property matching the\nexact specified name.", "in": "query", "name": "cluster_network.name", "required": false, "schema": { "example": "my-cluster-network", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "instanceConsoleAccessToken": { "description": "A URL safe single-use token used to access the console WebSocket.", "in": "query", "name": "access_token", "required": false, "schema": { "$ref": "#/components/schemas/AccessToken" } }, "instanceDedicatedHost": { "description": "Filters the collection to resources with a `dedicated_host.id` property matching the\nspecified identifier.", "in": "query", "name": "dedicated_host.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceDedicatedHostByCRN": { "description": "Filters the collection to resources with a `dedicated_host.crn` property matching the\nspecified CRN.", "in": "query", "name": "dedicated_host.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "instanceDedicatedHostByName": { "description": "Filters the collection to resources with a `dedicated_host.name` property matching the\nexact specified name.", "in": "query", "name": "dedicated_host.name", "required": false, "schema": { "example": "my-dedicated-host", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "instanceGroupId": { "description": "The instance group identifier", "in": "path", "name": "instance_group_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceGroupIdUnqualified": { "description": "The instance group identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceGroupManagerActionIdUnqualified": { "description": "The instance group manager action identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceGroupManagerId": { "description": "The instance group manager identifier", "in": "path", "name": "instance_group_manager_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceGroupManagerIdUnqualified": { "description": "The instance group manager identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceGroupManagerPolicyIdUnqualified": { "description": "The instance group manager policy identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceGroupMembershipIdUnqualified": { "description": "The instance group membership identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceId": { "description": "The virtual server instance identifier", "in": "path", "name": "instance_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceIdUnqualified": { "description": "The virtual server instance identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceNetworkAttachmentIdUnqualified": { "description": "The instance network attachment identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceNetworkInterfaceId": { "description": "The instance network interface identifier", "in": "path", "name": "network_interface_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instanceNetworkInterfaceIdUnqualified": { "description": "The instance network interface identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "instancePlacementGroup": { "description": "Filters the collection to resources with a `placement_target.id` property matching the\nspecified placement group identifier.", "in": "query", "name": "placement_group.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "instancePlacementGroupByCRN": { "description": "Filters the collection to resources with a `placement_target.crn` property matching the\nspecified placement group CRN.", "in": "query", "name": "placement_group.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::placement-group:r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "instancePlacementGroupByName": { "description": "Filters the collection to resources with a `placement_target.name` property matching the\nexact specified placement group name.", "in": "query", "name": "placement_group.name", "required": false, "schema": { "example": "my-placement-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "instanceReservationAffinityPolicy": { "description": "Filters the collection to instances with a `reservation_affinity.policy` property\nmatching the specified value.", "in": "query", "name": "reservation_affinity.policy", "required": false, "schema": { "description": "The reservation affinity policy for this virtual server instance.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "automatic", "disabled", "manual" ], "example": "automatic", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "instanceTemplateIdUnqualified": { "description": "The instance template identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "ipsecPolicyIdUnqualified": { "description": "The IPsec policy identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "keyIdUnqualified": { "description": "The key identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "lifecycleState": { "description": "Filters the collection to resources with a `lifecycle_state` property matching one of the\nspecified comma-separated values.", "explode": false, "in": "query", "name": "lifecycle_state", "required": false, "schema": { "items": { "$ref": "#/components/schemas/LifecycleState" }, "minItems": 1, "type": "array", "uniqueItems": true } }, "limit": { "description": "The number of resources to return on a page", "in": "query", "name": "limit", "required": false, "schema": { "default": 50, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" } }, "loadBalancerId": { "description": "The load balancer identifier", "in": "path", "name": "load_balancer_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerIdUnqualified": { "description": "The load balancer identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerListenerId": { "description": "The listener identifier", "in": "path", "name": "listener_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerListenerIdUnqualified": { "description": "The listener identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerListenerPolicyId": { "description": "The policy identifier", "in": "path", "name": "policy_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerListenerPolicyIdUnqualified": { "description": "The policy identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerListenerPolicyRuleIdUnqualified": { "description": "The rule identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerPoolId": { "description": "The pool identifier", "in": "path", "name": "pool_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerPoolIdUnqualified": { "description": "The pool identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerPoolMemberIdUnqualified": { "description": "The member identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "loadBalancerProfileName": { "description": "The load balancer profile name", "in": "path", "name": "name", "required": true, "schema": { "example": "network-fixed", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "name": { "description": "Filters the collection to resources with a `name` property matching the exact specified\nname.", "in": "query", "name": "name", "required": false, "schema": { "example": "my-name", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "networkACLId": { "description": "The network ACL identifier", "in": "path", "name": "network_acl_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "networkACLIdUnqualified": { "description": "The network ACL identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "operatingSystemArchitecture": { "description": "Filters the collection to resources with an `operating_system.architecture` property\nmatching the specified operating system architecture.\n\nThis parameter also supports the values `null` and `not:null` which filter the collection to\nresources which have no operating system or any operating system, respectively.", "in": "query", "name": "operating_system.architecture", "required": false, "schema": { "$ref": "#/components/schemas/OperatingSystemArchitectureExtendedFilter" } }, "operatingSystemFamily": { "description": "Filters the collection to resources with an `operating_system.family` property matching the\nspecified operating system family.\n\nThis parameter also supports the values `null` and `not:null` which filter the collection to\nresources which have no operating system or any operating system, respectively.", "in": "query", "name": "operating_system.family", "required": false, "schema": { "$ref": "#/components/schemas/OperatingSystemFamily" } }, "placementGroupIdUnqualified": { "description": "The placement group identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "privatePathServiceGatewayAccountPolicyUnqualifiedId": { "description": "The account policy identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "privatePathServiceGatewayEndpointGatewayBindingStatus": { "description": "Filters the collection to endpoint gateway bindings with a `status` property matching the\nspecified value.", "in": "query", "name": "status", "required": false, "schema": { "$ref": "#/components/schemas/PrivatePathServiceGatewayEndpointGatewayBindingStatus" } }, "privatePathServiceGatewayEndpointGatewayBindingUnqualifiedId": { "description": "The endpoint gateway binding identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "privatePathServiceGatewayId": { "description": "The private path service gateway identifier", "in": "path", "name": "private_path_service_gateway_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "privatePathServiceGatewayIdUnqualifiedId": { "description": "The private path service gateway identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "profileByResourceType": { "description": "Filters the collection of resources with a `profile.resource_type` property matching the\nspecified value.", "in": "query", "name": "profile.resource_type", "required": false, "schema": { "$ref": "#/components/schemas/ResourceType" } }, "publicAddressRangeIdUnqualified": { "description": "The public address range identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "publicGatewayIdUnqualified": { "description": "The public gateway identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "regionName": { "description": "The region name", "in": "path", "name": "region_name", "required": true, "schema": { "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "regionNameUnqualified": { "description": "The region name", "in": "path", "name": "name", "required": true, "schema": { "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "reservation": { "description": "Filters the collection to resources with a `reservation.id` property matching the\nspecified identifier.", "in": "query", "name": "reservation.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "reservationAffinityPolicy": { "description": "Filters the collection to reservations with an `affinity_policy` property matching\nthe specified value.", "in": "query", "name": "affinity_policy", "required": false, "schema": { "description": "The affinity policy to use for this reservation:\n- `automatic`: The reservation will be automatically selected\n- `restricted`: The reservation must be manually requested\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "automatic", "restricted" ], "example": "automatic", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "reservationByCRN": { "description": "Filters the collection to resources with a `reservation.crn` property matching the\nspecified identifier.", "in": "query", "name": "reservation.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "reservationByName": { "description": "Filters the collection to resources with a `reservation.name` property matching the\nspecified identifier.", "in": "query", "name": "reservation.name", "required": false, "schema": { "example": "my-reservation", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "reservationIdUnqualified": { "description": "The reservation identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "reservedIPIdUnqualified": { "description": "The reserved IP identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "resourceByTag": { "description": "Filters the collection to resources with an item in the `tags` property matching the\nexact specified tag.", "in": "query", "name": "tag", "required": false, "schema": { "$ref": "#/components/schemas/Tag" } }, "resourceGroup": { "description": "Filters the collection to resources with a `resource_group.id` property matching the\nspecified identifier.", "in": "query", "name": "resource_group.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "ruleIdUnqualified": { "description": "The rule identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "securityGroupId": { "description": "The security group identifier", "in": "path", "name": "security_group_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "securityGroupIdUnqualified": { "description": "The security group identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "securityGroupRuleIdUnqualified": { "description": "The rule identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "securityGroupTargetIdUnqualified": { "description": "The security group target identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "shareAccessorBindingUnqualifiedId": { "description": "The file share accessor binding identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "shareId": { "description": "The file share identifier", "in": "path", "name": "share_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "shareIdOrWildcard": { "description": "The file share identifier, or `-` to wildcard all accessible file shares.", "in": "path", "name": "share_id", "required": true, "schema": { "$ref": "#/components/schemas/IDOrWildcard" } }, "shareIdUnqualified": { "description": "The file share identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "shareMountTargetIdUnqualified": { "description": "The file share mount target identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "shareReplicationRole": { "description": "Filters the collection to file shares with a `replication_role` property matching the\nspecified value.", "in": "query", "name": "replication_role", "required": false, "schema": { "$ref": "#/components/schemas/ShareReplicationRole" } }, "shareSnapshotIdUnqualified": { "description": "The share snapshot identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "snapshotClonesByZone": { "description": "Filters the collection to snapshots with an item in the `clones` property with a `zone.name`\nproperty matching the exact specified name.", "in": "query", "name": "clones[].zone.name", "required": false, "schema": { "example": "us-south-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "snapshotConsistencyGroup": { "description": "Filters the collection to resources with a `snapshot_consistency_group.id` property\nmatching the specified identifier.", "in": "query", "name": "snapshot_consistency_group.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "snapshotConsistencyGroupByCRN": { "description": "Filters the collection to resources with a `snapshot_consistency_group.crn` property\nmatching the specified identifier.", "in": "query", "name": "snapshot_consistency_group.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "snapshotConsistencyGroupIdUnqualified": { "description": "The snapshot consistency group identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "snapshotCopiesCRN": { "description": "Filters the collection to snapshots with an item in the `copies` property with a `crn`\nproperty matching the specified CRN.", "in": "query", "name": "copies[].crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "snapshotCopiesID": { "description": "Filters the collection to snapshots with an item in the `copies` property with an `id`\nproperty matching the specified identifier.", "in": "query", "name": "copies[].id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "snapshotCopiesName": { "description": "Filters the collection to snapshots with an item in the `copies` property with a `name`\nproperty matching the exact specified name.", "in": "query", "name": "copies[].name", "required": false, "schema": { "example": "my-snapshot-copy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "snapshotCopiesRemoteRegion": { "description": "Filters the collection to snapshots with an item in the `copies` property with a\n`remote.region.name` property matching the exact specified name.", "in": "query", "name": "copies[].remote.region.name", "required": false, "schema": { "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "snapshotIdUnqualified": { "description": "The snapshot identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "sort": { "description": "Sorts the returned collection by the specified property name in ascending order. A `-` may\nbe prepended to the name to sort in descending order. For example, the value `-created_at`\nsorts the collection by the `created_at` property in descending order, and the value `name`\nsorts it by the `name` property in ascending order.", "in": "query", "name": "sort", "required": false, "schema": { "default": "-created_at", "enum": [ "created_at", "name" ], "example": "name", "type": "string" } }, "sourceImage": { "description": "Filters the collection to resources with a `source_image.id` property matching the specified\nidentifier.\n\nThis parameter also supports the values `null` and `not:null` which filter the collection to\nresources which have no source image or any existent source image, respectively.", "in": "query", "name": "source_image.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "sourceImageByCRN": { "description": "Filters the collection to resources with a `source_image.crn` property matching the specified\nCRN.\n\nThis parameter also supports the values `null` and `not:null` which filter the collection to\nresources which have no source image or any existent source image, respectively.", "in": "query", "name": "source_image.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "sourceImageRemoteRegion": { "description": "Filters the collection to resources with a `source_image.remote.region.name` property\nmatching the exact specified name.", "in": "query", "name": "source_image.remote.region.name", "required": false, "schema": { "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "sourceSnapshot": { "description": "Filters the collection to resources with a `source_snapshot.id` property matching the\nspecified identifier.", "in": "query", "name": "source_snapshot.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "sourceSnapshotRemoteRegion": { "description": "Filters the collection to resources with a `source_snapshot.remote.region.name` property\nmatching the exact specified name.", "in": "query", "name": "source_snapshot.remote.region.name", "required": false, "schema": { "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "sourceVolume": { "description": "Filters the collection to resources with a `source_volume.id` property matching the\nspecified identifier.", "in": "query", "name": "source_volume.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "sourceVolumeByCRN": { "description": "Filters the collection to resources with a `source_volume.crn` property matching the\nspecified CRN.", "in": "query", "name": "source_volume.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "sourceVolumeRemoteRegion": { "description": "Filters the collection to resources with a `source_volume.remote.region.name` property\nmatching the exact specified name.", "in": "query", "name": "source_volume.remote.region.name", "required": false, "schema": { "example": "us-east", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "start": { "description": "A server-provided token determining what resource to start the page on", "in": "query", "name": "start", "required": false, "schema": { "maxLength": 4096, "minLength": 1, "pattern": "^[ -~]+$", "type": "string" } }, "subnetId": { "description": "The subnet identifier", "in": "path", "name": "subnet_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "subnetIdUnqualified": { "description": "The subnet identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "target": { "description": "Filters the collection to resources with a `target.id` property matching the specified\nidentifier.", "in": "query", "name": "target.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "targetByCRN": { "description": "Filters the collection to resources with a `target.crn` property matching the specified\nCRN.", "in": "query", "name": "target.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "targetByName": { "description": "Filters the collection to resources with a `target.name` property matching the exact\nspecified name.", "in": "query", "name": "target.name", "required": false, "schema": { "example": "my-resource", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "targetByResourceType": { "description": "Filters the collection to resources with a `target.resource_type` property matching the\nspecified value.", "in": "query", "name": "target.resource_type", "required": false, "schema": { "$ref": "#/components/schemas/ResourceType" } }, "version": { "description": "The API version, in format `YYYY-MM-DD`. For the API behavior documented here, specify any\ndate between `2025-06-30` and `2025-08-12`.", "in": "query", "name": "version", "required": true, "schema": { "$ref": "#/components/schemas/Date" }, "x-sdk-global-param": true }, "virtualNetworkInterfaceId": { "description": "The virtual network interface identifier", "in": "path", "name": "virtual_network_interface_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "virtualNetworkInterfaceIdUnqualified": { "description": "The virtual network interface identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "volumeAttachmentIdUnqualified": { "description": "The volume attachment identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "volumeIdUnqualified": { "description": "The volume identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpc": { "description": "Filters the collection to resources with a `vpc.id` property matching the specified\nidentifier.", "in": "query", "name": "vpc.id", "required": false, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcByCRN": { "description": "Filters the collection to resources with a `vpc.crn` property matching the specified CRN.", "in": "query", "name": "vpc.crn", "required": false, "schema": { "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "vpcByName": { "description": "Filters the collection to resources with a `vpc.name` property matching the exact specified\nname.", "in": "query", "name": "vpc.name", "required": false, "schema": { "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "vpcByRemoteAccount": { "description": "Filters the collection to resources with a `vpc.remote.account.id` property matching the\nspecified account identifier.", "in": "query", "name": "account.id", "required": false, "schema": { "$ref": "#/components/schemas/AccountID" } }, "vpcId": { "description": "The VPC identifier", "in": "path", "name": "vpc_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcIdUnqualified": { "description": "The VPC identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcPrefixIdUnqualified": { "description": "The prefix identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcRouteIdUnqualified": { "description": "The route identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcRoutingTableId": { "description": "The routing table identifier", "in": "path", "name": "routing_table_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcRoutingTableIdUnqualified": { "description": "The routing table identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcRoutingTableRouteIdUnqualified": { "description": "The VPC routing table route identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpcsDNSResolutionBindingsIdUnqualified": { "description": "The DNS resolution binding identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnGatewayConnectionCIDRIdUnqualified": { "description": "The VPN gateway connection identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnGatewayConnectionIdUnqualified": { "description": "The VPN gateway connection identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnGatewayId": { "description": "The VPN gateway identifier", "in": "path", "name": "vpn_gateway_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnGatewayIdUnqualified": { "description": "The VPN gateway identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnServerClientIdUnqualified": { "description": "The VPN client identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnServerClientSort": { "description": "Sorts the returned collection by the specified property name in ascending order. A `-` may\nbe prepended to the name to sort in descending order. For example, the value `-created_at`\nsorts the collection by the `created_at` property in descending order.", "in": "query", "name": "sort", "required": false, "schema": { "default": "-created_at", "enum": [ "created_at" ], "example": "created_at", "type": "string" } }, "vpnServerId": { "description": "The VPN server identifier", "in": "path", "name": "vpn_server_id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnServerIdUnqualified": { "description": "The VPN server identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "vpnServerRouteIdUnqualified": { "description": "The VPN route identifier", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/ID" } }, "zone": { "description": "Filters the collection to resources with a `zone.name` property matching the exact specified\nname.", "in": "query", "name": "zone.name", "required": false, "schema": { "example": "us-south-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "zoneName": { "description": "The zone name", "in": "path", "name": "zone_name", "required": true, "schema": { "example": "us-south-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "zoneNameUnqualified": { "description": "The zone name", "in": "path", "name": "name", "required": true, "schema": { "example": "us-south-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } } }, "schemas": { "AccessToken": { "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI", "maxLength": 2000, "minLength": 14, "pattern": "^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$", "type": "string", "title": "AccessToken" }, "AccountID": { "example": "bb1b52262f7441a586f49068482f1e60", "maxLength": 32, "minLength": 32, "pattern": "^[0-9a-f]{32}$", "type": "string", "title": "AccountID" }, "AccountIDExtendedFilter": { "example": "bb1b52262f7441a586f49068482f1e60", "maxLength": 36, "minLength": 4, "pattern": "^(?:not:)?(?:null|^[0-9a-f]{32})$", "type": "string", "title": "AccountIDExtendedFilter" }, "AccountIdentity": { "description": "Identifies an account by a unique property.", "example": { "id": "aa2432b1fa4d4ace891e9b80fc104e34" }, "oneOf": [ { "$ref": "#/components/schemas/AccountIdentityById" } ], "type": "object", "title": "AccountIdentity" }, "AccountIdentityById": { "properties": { "id": { "description": "The unique identifier for this account", "example": "bb1b52262f7441a586f49068482f1e60", "maxLength": 32, "minLength": 32, "pattern": "^[0-9a-f]{32}$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "AccountIdentityById" }, "AccountReference": { "example": { "id": "aa2432b1fa4d4ace891e9b80fc104e34", "resource_type": "account" }, "properties": { "id": { "description": "The unique identifier for this account", "example": "bb1b52262f7441a586f49068482f1e60", "maxLength": 32, "minLength": 32, "pattern": "^[0-9a-f]{32}$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "account" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "id", "resource_type" ], "type": "object", "title": "AccountReference" }, "AddressPrefix": { "example": { "cidr": "10.240.0.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-68574057-c5e0-4675-ada4-99377d8f4789", "id": "r006-68574057-c5e0-4675-ada4-99377d8f4789", "is_default": true, "name": "my-vpc-address-prefix-zone-1", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "cidr": { "description": "The CIDR block for this address prefix", "example": "192.168.3.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "created_at": { "description": "The date and time that this address prefix was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "has_subnets": { "description": "Indicates whether subnets exist with addresses from this address prefix.", "type": "boolean" }, "href": { "description": "The URL for this address prefix", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-68574057-c5e0-4675-ada4-99377d8f4789", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this address prefix", "example": "r006-68574057-c5e0-4675-ada4-99377d8f4789", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "is_default": { "description": "Indicates whether this is the default prefix for this zone in this VPC. If a default\nprefix was automatically created when the VPC was created, the prefix is automatically\nnamed using a hyphenated list of randomly-selected words, but may be changed.", "example": false, "type": "boolean" }, "name": { "description": "The name for this address prefix. The name must not be used by another address prefix\nfor the VPC.", "example": "my-vpc-address-prefix-zone-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this address prefix resides in" } ] } }, "required": [ "cidr", "created_at", "has_subnets", "href", "id", "is_default", "name", "zone" ], "type": "object", "title": "AddressPrefix" }, "AddressPrefixCollection": { "example": { "address_prefixes": [ { "cidr": "10.240.0.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-68574057-c5e0-4675-ada4-99377d8f4789", "id": "r006-68574057-c5e0-4675-ada4-99377d8f4789", "is_default": true, "name": "my-vpc-address-prefix-zone-1", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "cidr": "10.240.64.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-3c65afd2-173f-49cc-b5ba-f81fddc399b5", "id": "r006-3c65afd2-173f-49cc-b5ba-f81fddc399b5", "is_default": true, "name": "my-vpc-address-prefix-zone-2", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2", "name": "us-south-2" } }, { "cidr": "10.240.128.0/18", "created_at": "2025-03-17T22:27:45Z", "has_subnets": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes/r006-f4e8c017-a335-4893-bc3d-454d4ad482da", "id": "r006-f4e8c017-a335-4893-bc3d-454d4ad482da", "is_default": true, "name": "my-vpc-address-prefix-zone-3", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3", "name": "us-south-3" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes?limit=20" }, "limit": 20, "total_count": 3 }, "properties": { "address_prefixes": { "description": "A page of address prefixes for the VPC", "items": { "$ref": "#/components/schemas/AddressPrefix" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "address_prefixes", "first", "limit", "total_count" ], "type": "object", "title": "AddressPrefixCollection" }, "AddressPrefixPatch": { "properties": { "is_default": { "description": "Indicates whether this is the default prefix for this zone in this VPC.\nUpdating to true makes this prefix the default prefix for this zone in this VPC,\nprovided the VPC currently has no default address prefix for this zone.\nUpdating to false removes the default prefix for this zone in this VPC.", "example": false, "type": "boolean" }, "name": { "description": "The name for this address prefix. The name must not be used by another address prefix\nfor the VPC.", "example": "my-vpc-address-prefix-zone-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "AddressPrefixPatch" }, "AddressPrefixPrototype": { "properties": { "cidr": { "description": "The IPv4 range of the address prefix, expressed in CIDR format. The range must not\noverlap with any existing address prefixes in the VPC or any of the following reserved\naddress ranges:\n\n - `127.0.0.0/8` (IPv4 loopback addresses)\n - `161.26.0.0/16` (IBM services)\n - `166.8.0.0/14` (Cloud Service Endpoints)\n - `169.254.0.0/16` (IPv4 link-local addresses)\n - `224.0.0.0/4` (IPv4 multicast addresses)\n\nThe prefix length of the address prefix's CIDR must be between `/9` (8,388,608\naddresses) and `/29` (8 addresses).", "example": "10.240.0.0/18", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "is_default": { "default": false, "description": "Indicates whether this will be the default address prefix for this zone in this VPC.\nIf `true`, the VPC must not have a default address prefix for this zone.", "example": true, "type": "boolean" }, "name": { "description": "The name for this address prefix. The name must not be used by another address prefix\nfor the VPC. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-vpc-address-prefix-zone-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this address prefix will reside in" } ] } }, "required": [ "cidr", "zone" ], "type": "object", "title": "AddressPrefixPrototype" }, "BackupPolicy": { "example": { "created_at": "2024-12-04T15:06:03.000Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "included_content": [ "data_volume" ], "lifecycle_state": "stable", "match_resource_type": "volume", "match_user_tags": [ "my-tag-1", "my-tag-2" ], "name": "my-backup-policy", "plans": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "id": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "name": "my-backup-plan", "resource_type": "backup_policy_plan" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "backup_policy", "scope": { "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce", "id": "ebc2b430240943458b9e91e1432cfcce", "resource_type": "enterprise" } }, "oneOf": [ { "$ref": "#/components/schemas/BackupPolicyMatchResourceTypeInstance" }, { "$ref": "#/components/schemas/BackupPolicyMatchResourceTypeVolume" }, { "$ref": "#/components/schemas/BackupPolicyMatchResourceTypeShare" } ], "properties": { "created_at": { "description": "The date and time that the backup policy was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this backup policy", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/BackupPolicyHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this backup policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this backup policy", "example": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "last_job_completed_at": { "description": "The date and time that the most recent job for this backup policy completed.\n\nIf absent, no job has yet completed for this backup policy.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the backup policy" } ] }, "match_resource_type": { "description": "The resource type this backup policy applies to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "instance", "share", "volume" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "match_user_tags": { "description": "The user tags this backup policy applies to. Resources that have both a matching user\ntag and a matching type will be subject to the backup policy.", "example": [ "my-daily-backup-policy" ], "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 1, "type": "array", "uniqueItems": true }, "name": { "description": "The name for this backup policy. The name is unique across all backup policies in the\nregion.", "example": "my-backup-policy", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "plans": { "description": "The plans for the backup policy.", "items": { "$ref": "#/components/schemas/BackupPolicyPlanReference" }, "type": "array" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this backup policy" } ] }, "resource_type": { "description": "The resource type", "enum": [ "backup_policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "scope": { "$ref": "#/components/schemas/BackupPolicyScope" } }, "required": [ "created_at", "crn", "health_reasons", "health_state", "href", "id", "lifecycle_state", "match_resource_type", "match_user_tags", "name", "plans", "resource_group", "resource_type", "scope" ], "type": "object", "title": "BackupPolicy" }, "BackupPolicyCollection": { "example": { "backup_policies": [ { "created_at": "2024-12-04T15:06:03.000Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "included_content": [ "data_volume" ], "lifecycle_state": "stable", "match_resource_type": "volume", "match_user_tags": [ "my-tag-1", "my-tag-2" ], "name": "my-backup-policy", "plans": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "id": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "name": "my-backup-plan", "resource_type": "backup_policy_plan" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "backup_policy", "scope": { "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce", "id": "ebc2b430240943458b9e91e1432cfcce", "resource_type": "enterprise" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "backup_policies": { "description": "A page of backup policies", "items": { "$ref": "#/components/schemas/BackupPolicy" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "backup_policies", "first", "limit", "total_count" ], "type": "object", "title": "BackupPolicyCollection" }, "BackupPolicyHealthReason": { "properties": { "code": { "description": "A reason code for this health state.", "enum": [ "missing_service_authorization_policies" ], "example": "missing_service_authorization_policies", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "One or more accounts are missing service authorization policies", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-backup-service-about&interface=ui", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "BackupPolicyHealthReason" }, "BackupPolicyIncludedContentItem": { "description": "An item to include.", "enum": [ "boot_volume", "data_volumes" ], "example": "data_volumes", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "BackupPolicyIncludedContentItem" }, "BackupPolicyJob": { "example": { "auto_delete": true, "auto_delete_after": 15, "backup_policy_plan": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "id": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "name": "my-backup-plan", "resource_type": "backup_policy_plan" }, "completed_at": "2022-04-22T20:59:34Z", "created_at": "2022-04-22T20:59:11Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs/r006-fc4b7fbc-38af-45d9-9fb6-bf0533acbf90", "id": "r006-fc4b7fbc-38af-45d9-9fb6-bf0533acbf90", "job_type": "creation", "resource_type": "backup_policy_job", "source": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "status": "succeeded", "status_reasons": [], "target_snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-5886f8e4-5b0c-4378-9a75-82930936593e", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-5886f8e4-5b0c-4378-9a75-82930936593e", "id": "r006-5886f8e4-5b0c-4378-9a75-82930936593e", "name": "my-backup-plan-1-364d6c2da03e-447d", "resource_type": "snapshot" } ] }, "properties": { "auto_delete": { "description": "Indicates whether this backup policy job will be automatically deleted after it\ncompletes. At present, this is always `true`, but may be modifiable in the future.", "example": true, "type": "boolean" }, "auto_delete_after": { "description": "If `auto_delete` is `true`, the days after completion that this backup policy job will\nbe deleted. This value may be modifiable in the future.", "example": 90, "type": "integer" }, "backup_policy_plan": { "allOf": [ { "$ref": "#/components/schemas/BackupPolicyPlanReference" }, { "description": "The backup policy plan operated this backup policy job (may be\n[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources))." } ] }, "completed_at": { "description": "The date and time that the backup policy job was completed.\n\nIf absent, the backup policy job has not yet completed.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "created_at": { "description": "The date and time that the backup policy job was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this backup policy job", "example": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs/r006-fc4b7fbc-38af-45d9-9fb6-bf0533acbf90", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this backup policy job", "example": "r006-fc4b7fbc-38af-45d9-9fb6-bf0533acbf90", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "job_type": { "description": "The type of backup policy job.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "creation", "deletion" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "backup_policy_job" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source": { "$ref": "#/components/schemas/BackupPolicyJobSource" }, "status": { "allOf": [ { "$ref": "#/components/schemas/BackupPolicyJobStatus" } ], "description": "The status of the backup policy job.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future." }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/BackupPolicyJobStatusReason" }, "minItems": 0, "type": "array" }, "target_snapshots": { "description": "The snapshots operated on by this backup policy job (may be\n[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).", "items": { "$ref": "#/components/schemas/BackupPolicyTargetSnapshot" }, "type": "array" } }, "required": [ "auto_delete", "auto_delete_after", "backup_policy_plan", "created_at", "href", "id", "job_type", "resource_type", "source", "status", "status_reasons", "target_snapshots" ], "type": "object", "title": "BackupPolicyJob" }, "BackupPolicyJobCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs?limit=50" }, "jobs": [ { "auto_delete": true, "auto_delete_after": 15, "backup_policy_plan": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "id": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "name": "my-backup-plan", "resource_type": "backup_policy_plan" }, "completed_at": "2022-04-22T20:59:34Z", "created_at": "2022-04-22T20:59:11Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs/r006-fc4b7fbc-38af-45d9-9fb6-bf0533acbf90", "id": "r006-fc4b7fbc-38af-45d9-9fb6-bf0533acbf90", "job_type": "creation", "resource_type": "backup_policy_job", "source": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "status": "succeeded", "status_reasons": [], "target_snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-5886f8e4-5b0c-4378-9a75-82930936593e", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-5886f8e4-5b0c-4378-9a75-82930936593e", "id": "r006-5886f8e4-5b0c-4378-9a75-82930936593e", "name": "my-backup-plan-1-364d6c2da03e-447d", "resource_type": "snapshot" } ] } ], "limit": 50, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs?limit=20" } }, "jobs": { "description": "A page of jobs for the backup policy", "items": { "$ref": "#/components/schemas/BackupPolicyJob" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "jobs", "limit", "total_count" ], "type": "object", "title": "BackupPolicyJobCollection" }, "BackupPolicyJobSource": { "description": "The source this backup was created from (may be\n[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).", "oneOf": [ { "$ref": "#/components/schemas/VolumeReference" }, { "$ref": "#/components/schemas/InstanceReference" }, { "$ref": "#/components/schemas/ShareReference" } ], "type": "object", "title": "BackupPolicyJobSource" }, "BackupPolicyJobStatus": { "enum": [ "failed", "running", "succeeded" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "BackupPolicyJobStatus" }, "BackupPolicyJobStatusReason": { "properties": { "code": { "description": "A reason code for the status:\n- `internal_error`: Internal error (contact IBM support)\n- `snapshot_encryption_key_invalid`: The provided encryption key is unavailable\n- `snapshot_pending`: Cannot delete backup (snapshot) in the `pending` lifecycle state\n- `snapshot_source_unsupported`: The source access control mode does not support\n backups\n- `snapshot_rate_too_high`: The rate of backups for the resource is too high\n- `snapshot_share_limit`: The maximum limit for snapshots on this resource has been\n reached\n- `snapshot_source_unavailable`: The source data is not available (for example,\n because the source is still being created).\n- `snapshot_volume_limit`: The snapshot limit for the source volume has been reached\n- `source_volume_busy`: The source volume has `busy` set (after multiple retries)\n- `source_volume_too_large`: The source volume exceeds the [maximum supported\n size](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-about&interface=api#snapshots-vpc-limitations)\n- `source_volume_unavailable`: The source volume is not attached to a running instance\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "snapshot_encryption_key_invalid", "snapshot_pending", "snapshot_rate_too_high", "snapshot_share_limit", "snapshot_source_unavailable", "snapshot_source_unsupported", "snapshot_volume_limit", "source_volume_busy", "source_volume_too_large", "source_volume_unavailable" ], "example": "source_volume_busy", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-baas-troubleshoot", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "BackupPolicyJobStatusReason" }, "BackupPolicyMatchResourceTypeInstance": { "properties": { "included_content": { "description": "The included content for backups created using this policy:\n- `boot_volume`: Include the instance's boot volume.\n- `data_volumes`: Include the instance's data volumes.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "items": { "$ref": "#/components/schemas/BackupPolicyIncludedContentItem" }, "minItems": 1, "type": "array", "uniqueItems": true }, "match_resource_type": { "description": "The resource type this backup policy applies to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "instance" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "included_content", "match_resource_type" ], "type": "object", "title": "BackupPolicyMatchResourceTypeInstance" }, "BackupPolicyMatchResourceTypeInstancePrototype": { "properties": { "included_content": { "default": [ "boot_volume", "data_volumes" ], "description": "The included content for backups created using this policy:\n- `boot_volume`: Include the instance's boot volume.\n- `data_volumes`: Include the instance's data volumes.", "items": { "$ref": "#/components/schemas/BackupPolicyIncludedContentItem" }, "minItems": 1, "type": "array", "uniqueItems": true }, "match_resource_type": { "description": "The resource type this backup policy will apply to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.", "enum": [ "instance" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "match_resource_type" ], "type": "object", "title": "BackupPolicyMatchResourceTypeInstancePrototype" }, "BackupPolicyMatchResourceTypeShare": { "properties": { "match_resource_type": { "description": "The resource type this backup policy applies to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "share" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "match_resource_type" ], "type": "object", "title": "BackupPolicyMatchResourceTypeShare" }, "BackupPolicyMatchResourceTypeSharePrototype": { "properties": { "match_resource_type": { "description": "The resource type this backup policy will apply to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.", "enum": [ "share" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "match_resource_type" ], "type": "object", "title": "BackupPolicyMatchResourceTypeSharePrototype" }, "BackupPolicyMatchResourceTypeVolume": { "properties": { "match_resource_type": { "description": "The resource type this backup policy applies to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "volume" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "match_resource_type" ], "type": "object", "title": "BackupPolicyMatchResourceTypeVolume" }, "BackupPolicyMatchResourceTypeVolumePrototype": { "properties": { "match_resource_type": { "description": "The resource type this backup policy will apply to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.", "enum": [ "volume" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "match_resource_type" ], "type": "object", "title": "BackupPolicyMatchResourceTypeVolumePrototype" }, "BackupPolicyPatch": { "properties": { "included_content": { "description": "The included content for backups created using this policy:\n- `boot_volume`: Include the instance's boot volume.\n- `data_volumes`: Include the instance's data volumes.", "items": { "$ref": "#/components/schemas/BackupPolicyIncludedContentItem" }, "minItems": 1, "type": "array", "uniqueItems": true }, "match_user_tags": { "description": "The user tags this backup policy will apply to (replacing any existing tags). Resources\nthat have both a matching user tag and a matching type will be subject to the backup\npolicy.", "example": [ "my-daily-backup-policy" ], "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 1, "type": "array", "uniqueItems": true }, "name": { "description": "The name for this backup policy. The name must not be used by another backup policy in\nthe region.", "example": "my-backup-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "BackupPolicyPatch" }, "BackupPolicyPlan": { "example": { "active": true, "attach_user_tags": [ "my-plan-2" ], "clone_policy": { "max_snapshots": 1, "zones": [] }, "copy_user_tags": true, "created_at": "2024-12-04T15:16:37Z", "cron_spec": "45 * * * *", "deletion_trigger": { "delete_after": 5 }, "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "id": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "lifecycle_state": "stable", "name": "my-backup-plan", "remote_region_policies": [], "resource_type": "backup_policy_plan" }, "properties": { "active": { "description": "Indicates whether the plan is active.", "type": "boolean" }, "attach_user_tags": { "description": "The user tags to attach to backups (snapshots) created by this plan.", "example": [ "my-daily-backup-plan" ], "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "clone_policy": { "$ref": "#/components/schemas/BackupPolicyPlanClonePolicy" }, "copy_user_tags": { "description": "Indicates whether to copy the source's user tags to the created backups (snapshots).", "type": "boolean" }, "created_at": { "description": "The date and time that the backup policy plan was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "cron_spec": { "description": "The cron specification for the backup schedule. The backup policy jobs\n(which create and delete backups for this plan) will not start until this time,\nand may start for up to 90 minutes after this time.\n\nAll backup schedules for plans in the same policy must be at least an hour apart.", "example": "30 */2 * * 1-5", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "deletion_trigger": { "$ref": "#/components/schemas/BackupPolicyPlanDeletionTrigger" }, "href": { "description": "The URL for this backup policy plan", "example": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this backup policy plan", "example": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" } ], "description": "The lifecycle state of this backup policy plan" }, "name": { "description": "The name for this backup policy plan. The name is unique across all plans in the\nbackup policy.", "example": "my-policy-plan", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote_region_policies": { "description": "The policies for additional backups in remote regions.", "items": { "$ref": "#/components/schemas/BackupPolicyPlanRemoteRegionPolicy" }, "minItems": 0, "type": "array", "uniqueItems": true }, "resource_type": { "description": "The resource type", "enum": [ "backup_policy_plan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "active", "attach_user_tags", "clone_policy", "copy_user_tags", "created_at", "cron_spec", "deletion_trigger", "href", "id", "lifecycle_state", "name", "remote_region_policies", "resource_type" ], "type": "object", "title": "BackupPolicyPlan" }, "BackupPolicyPlanClonePolicy": { "example": { "max_snapshots": 1, "zones": [] }, "properties": { "max_snapshots": { "description": "The maximum number of recent snapshots (per source) that will keep clones.", "maximum": 1000, "minimum": 1, "type": "integer" }, "zones": { "description": "The zone this backup policy plan will create snapshot clones in.", "items": { "$ref": "#/components/schemas/ZoneReference" }, "type": "array" } }, "required": [ "max_snapshots", "zones" ], "type": "object", "title": "BackupPolicyPlanClonePolicy" }, "BackupPolicyPlanClonePolicyPatch": { "properties": { "max_snapshots": { "description": "The maximum number of recent snapshots (per source) that will keep clones.", "maximum": 1000, "minimum": 1, "type": "integer" }, "zones": { "description": "The zones this backup policy plan will create snapshot clones in. Updating this value\ndoes not change the clones for snapshots that have already been created by this plan.", "items": { "$ref": "#/components/schemas/ZoneIdentity" }, "type": "array" } }, "type": "object", "title": "BackupPolicyPlanClonePolicyPatch" }, "BackupPolicyPlanClonePolicyPrototype": { "properties": { "max_snapshots": { "default": 5, "description": "The maximum number of recent snapshots (per source) that will keep clones.", "maximum": 1000, "minimum": 1, "type": "integer" }, "zones": { "description": "The zone this backup policy plan will create snapshot clones in.", "items": { "$ref": "#/components/schemas/ZoneIdentity" }, "type": "array" } }, "required": [ "zones" ], "type": "object", "title": "BackupPolicyPlanClonePolicyPrototype" }, "BackupPolicyPlanCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans?limit=50" }, "limit": 50, "plans": [ { "active": true, "attach_user_tags": [ "my-plan-2" ], "clone_policy": { "max_snapshots": 1, "zones": [] }, "copy_user_tags": true, "created_at": "2024-12-04T15:16:37Z", "cron_spec": "45 * * * *", "deletion_trigger": { "delete_after": 5 }, "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "id": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "lifecycle_state": "stable", "name": "my-backup-plan", "remote_region_policies": [], "resource_type": "backup_policy_plan" } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "plans": { "description": "A page of plans for the backup policy", "items": { "$ref": "#/components/schemas/BackupPolicyPlan" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "plans", "total_count" ], "type": "object", "title": "BackupPolicyPlanCollection" }, "BackupPolicyPlanDeleteOverCountPatch": { "description": "The maximum number of recent backups to keep. Specify `null` to remove any existing maximum.", "minimum": 1, "nullable": true, "type": "integer", "title": "BackupPolicyPlanDeleteOverCountPatch" }, "BackupPolicyPlanDeletionTrigger": { "properties": { "delete_after": { "description": "The maximum number of days to keep each backup after creation.", "example": 20, "maximum": 1000, "minimum": 1, "type": "integer" }, "delete_over_count": { "description": "The maximum number of recent backups to keep. If absent, there is no maximum.", "example": 20, "minimum": 1, "type": "integer" } }, "required": [ "delete_after" ], "type": "object", "title": "BackupPolicyPlanDeletionTrigger" }, "BackupPolicyPlanDeletionTriggerPatch": { "properties": { "delete_after": { "description": "The maximum number of days to keep each backup after creation.", "example": 20, "maximum": 1000, "minimum": 1, "type": "integer" }, "delete_over_count": { "$ref": "#/components/schemas/BackupPolicyPlanDeleteOverCountPatch" } }, "type": "object", "title": "BackupPolicyPlanDeletionTriggerPatch" }, "BackupPolicyPlanDeletionTriggerPrototype": { "properties": { "delete_after": { "default": 30, "description": "The maximum number of days to keep each backup after creation.", "example": 20, "maximum": 1000, "minimum": 1, "type": "integer" }, "delete_over_count": { "description": "The maximum number of recent backups to keep. If unspecified, there will be no maximum.", "example": 20, "minimum": 1, "type": "integer" } }, "type": "object", "title": "BackupPolicyPlanDeletionTriggerPrototype" }, "BackupPolicyPlanPatch": { "properties": { "active": { "description": "Indicates whether the plan is active.", "type": "boolean" }, "attach_user_tags": { "description": "The user tags to attach to backups (snapshots) created by this plan. Updating this\nvalue does not change the user tags for backups that have already been created by\nthis plan.", "example": [ "my-daily-backup-plan" ], "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "clone_policy": { "$ref": "#/components/schemas/BackupPolicyPlanClonePolicyPatch" }, "copy_user_tags": { "description": "Indicates whether to copy the source's user tags to the created backups (snapshots).", "type": "boolean" }, "cron_spec": { "description": "The cron specification for the backup schedule. The backup policy jobs\n(which create and delete backups for this plan) will not start until this time,\nand may start for up to 90 minutes after this time.\n\nAll backup schedules for plans in the same policy must be at least an hour apart.", "example": "30 */2 * * 1-5", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "deletion_trigger": { "$ref": "#/components/schemas/BackupPolicyPlanDeletionTriggerPatch" }, "name": { "description": "The name for this backup policy plan. The name must not be used by another plan for the\nbackup policy.", "example": "my-policy-plan", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote_region_policies": { "description": "The policies for additional backups in remote regions (replacing any\nexisting policies).", "items": { "$ref": "#/components/schemas/BackupPolicyPlanRemoteRegionPolicyPrototype" }, "type": "array" } }, "type": "object", "title": "BackupPolicyPlanPatch" }, "BackupPolicyPlanPrototype": { "properties": { "active": { "default": true, "description": "Indicates whether the plan is active.", "type": "boolean" }, "attach_user_tags": { "default": [], "description": "The user tags to attach to each backup (snapshot) created by this plan.", "example": [ "my-daily-backup-plan" ], "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "clone_policy": { "$ref": "#/components/schemas/BackupPolicyPlanClonePolicyPrototype" }, "copy_user_tags": { "default": true, "description": "Indicates whether to copy the source's user tags to the created backups (snapshots).", "type": "boolean" }, "cron_spec": { "description": "The cron specification for the backup schedule. The backup policy jobs\n(which create and delete backups for this plan) will not start until this time,\nand may start for up to 90 minutes after this time.\n\nAll backup schedules for plans in the same policy must be at least an hour apart.", "example": "30 */2 * * 1-5", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "deletion_trigger": { "$ref": "#/components/schemas/BackupPolicyPlanDeletionTriggerPrototype" }, "name": { "description": "The name for this backup policy plan. The name must not be used by another plan for\nthe backup policy. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-policy-plan", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote_region_policies": { "description": "The policies for additional backups in remote regions.", "items": { "$ref": "#/components/schemas/BackupPolicyPlanRemoteRegionPolicyPrototype" }, "type": "array" } }, "required": [ "cron_spec" ], "type": "object", "title": "BackupPolicyPlanPrototype" }, "BackupPolicyPlanReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "id": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "name": "my-backup-plan", "resource_type": "backup_policy_plan" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this backup policy plan", "example": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans/r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this backup policy plan", "example": "r006-6da51cfe-6f7b-4638-a6ba-00e9c327b178", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this backup policy plan. The name is unique across all plans in the\nbackup policy.", "example": "my-policy-plan", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/BackupPolicyPlanRemote" }, "resource_type": { "description": "The resource type", "enum": [ "backup_policy_plan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "BackupPolicyPlanReference" }, "BackupPolicyPlanRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "BackupPolicyPlanRemote" }, "BackupPolicyPlanRemoteRegionPolicy": { "properties": { "delete_over_count": { "description": "The region this backup policy plan will create backups in.", "maximum": 1000, "minimum": 1, "type": "integer" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyReference" } ], "description": "The root key used to rewrap the data encryption key for the backup (snapshot)." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "The region this backup policy plan will create backups in." } }, "required": [ "delete_over_count", "encryption_key", "region" ], "type": "object", "title": "BackupPolicyPlanRemoteRegionPolicy" }, "BackupPolicyPlanRemoteRegionPolicyPrototype": { "properties": { "delete_over_count": { "default": 5, "description": "The region this backup policy plan will create backups in.", "maximum": 1000, "minimum": 1, "type": "integer" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" } ], "description": "The root key to use to rewrap the data encryption key for the backup (snapshot).\n\nIf unspecified, the source's `encryption_key` will be used.\nThe specified key may be in a different account, subject to IAM policies." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionIdentity" } ], "description": "The region this backup policy plan will create backups in." } }, "required": [ "region" ], "type": "object", "title": "BackupPolicyPlanRemoteRegionPolicyPrototype" }, "BackupPolicyPrototype": { "oneOf": [ { "$ref": "#/components/schemas/BackupPolicyMatchResourceTypeVolumePrototype" }, { "$ref": "#/components/schemas/BackupPolicyMatchResourceTypeInstancePrototype" }, { "$ref": "#/components/schemas/BackupPolicyMatchResourceTypeSharePrototype" } ], "properties": { "match_resource_type": { "description": "The resource type this backup policy will apply to. Resources that have both a matching\ntype and a matching user tag will be subject to the backup policy.", "enum": [ "instance", "share", "volume" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "match_user_tags": { "description": "The user tags this backup policy will apply to. Resources that have both a matching user\ntag and a matching type will be subject to the backup policy.", "example": [ "my-daily-backup-policy" ], "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 1, "type": "array", "uniqueItems": true }, "name": { "description": "The name for this backup policy. The name must not be used by another backup policy in\nthe region. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-backup-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "plans": { "description": "The prototype objects for backup plans to be created for this backup policy.", "items": { "$ref": "#/components/schemas/BackupPolicyPlanPrototype" }, "maxItems": 4, "minItems": 0, "type": "array" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "scope": { "$ref": "#/components/schemas/BackupPolicyScopePrototype" } }, "required": [ "match_resource_type", "match_user_tags" ], "type": "object", "title": "BackupPolicyPrototype" }, "BackupPolicyScope": { "description": "The scope for this backup policy.", "oneOf": [ { "$ref": "#/components/schemas/EnterpriseReference" }, { "$ref": "#/components/schemas/AccountReference" } ], "type": "object", "title": "BackupPolicyScope" }, "BackupPolicyScopePrototype": { "description": "The scope to use for this backup policy.\n\nIf unspecified, the policy will be scoped to the account.", "oneOf": [ { "$ref": "#/components/schemas/EnterpriseIdentity" } ], "type": "object", "title": "BackupPolicyScopePrototype" }, "BackupPolicyTargetSnapshot": { "oneOf": [ { "$ref": "#/components/schemas/SnapshotReference" }, { "$ref": "#/components/schemas/ShareSnapshotReference" } ], "type": "object", "title": "BackupPolicyTargetSnapshot" }, "BareMetalServer": { "example": { "bandwidth": 100000, "boot_target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk" }, "cpu": { "architecture": "amd64", "core_count": 96, "socket_count": 4, "threads_per_core": 2 }, "created_at": "2024-10-22T06:09:15.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::bare-metal-server:0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "disks": [ { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "true" }, "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "interface_type": "sata", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk", "size": 960 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-86003aba-47db-4d07-bd76-62e00cca83e5", "id": "0717-86003aba-47db-4d07-bd76-62e00cca83e5", "interface_type": "nvme", "name": "mnemonic-energy-equipped-mammal", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-8372237f-77cb-47e4-9c61-b9d19ddfdbcd", "id": "0717-8372237f-77cb-47e4-9c61-b9d19ddfdbcd", "interface_type": "nvme", "name": "could-kilt-twisty-unloaded", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-e544d72d-ca08-4924-b748-a8f67b66286d", "id": "0717-e544d72d-ca08-4924-b748-a8f67b66286d", "interface_type": "nvme", "name": "wildcat-impromptu-dribble-hesitate", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-de34647b-e7fb-405b-85af-d28c6dfe142c", "id": "0717-de34647b-e7fb-405b-85af-d28c6dfe142c", "interface_type": "nvme", "name": "imperfect-stimulate-culpable-thumb", "resource_type": "bare_metal_server_disk", "size": 3200 } ], "enable_secure_boot": false, "firmware": { "update": "none" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "id": "0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "lifecycle_reasons": [], "lifecycle_state": "stable", "memory": 768, "name": "my-bare-metal-server", "network_attachments": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-bare-metal-server-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-7a14a055-ad88-41fe-8de2-b2f977054251", "id": "0717-7a14a055-ad88-41fe-8de2-b2f977054251", "name": "my-bare-metal-server-network-attachment-2", "primary_ip": { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "id": "0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "name": "my-virtual-network-interface-2", "resource_type": "virtual_network_interface" } } ], "network_interfaces": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-primary-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-7a14a055-ad88-41fe-8de2-b2f977054251", "id": "0717-7a14a055-ad88-41fe-8de2-b2f977054251", "name": "my-vlan-interface", "primary_ip": { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.2.10", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" } } ], "primary_network_attachment": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-bare-metal-server-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "primary_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-primary-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768", "name": "bx2-metal-192x768", "resource_type": "bare_metal_server_profile" }, "reservation_affinity": { "policy": "disabled", "pool": [] }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "bare_metal_server", "status": "running", "status_reasons": [], "trusted_platform_module": { "enabled": false, "mode": "disabled", "supported_modes": [ "disabled", "tpm_2" ] }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "bandwidth": { "description": "The total bandwidth (in megabits per second) shared across the bare metal\nserver network attachments or bare metal server network interfaces", "example": 20000, "maximum": 1000000, "minimum": 1, "type": "integer" }, "boot_target": { "$ref": "#/components/schemas/BareMetalServerBootTarget" }, "cpu": { "$ref": "#/components/schemas/BareMetalServerCPU" }, "created_at": { "description": "The date and time that the bare metal server was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this bare metal server", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::bare-metal-server:0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "disks": { "description": "The disks for this bare metal server, including any disks that are associated with the\n`boot_target`.", "items": { "$ref": "#/components/schemas/BareMetalServerDisk" }, "minItems": 0, "type": "array" }, "enable_secure_boot": { "description": "Indicates whether secure boot is enabled. If enabled, the image must support secure boot\nor the server will fail to boot.", "example": false, "type": "boolean" }, "firmware": { "$ref": "#/components/schemas/BareMetalServerFirmware" }, "health_reasons": { "description": "The reasons for the current server `health_state` (if any):\n- `reservation_capacity_unavailable`: The reservation affinity pool has no\n available capacity.\n- `reservation_deleted`: The reservation affinity pool has a deleted reservation.\n- `reservation_expired`: The reservation affinity pool has an expired reservation.\n- `reservation_failed`: The reservation affinity pool has a failed reservation.\n\nSee [health\nstatus reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons)\nfor details. The enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "items": { "$ref": "#/components/schemas/BareMetalServerHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this bare metal server", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server", "example": "0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/BareMetalServerLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the bare metal server." } ] }, "memory": { "description": "The amount of memory, truncated to whole gibibytes", "example": 1536, "maximum": 100000, "minimum": 1, "type": "integer" }, "name": { "description": "The name for this bare metal server. The name is unique across all bare metal servers\nin the region.", "example": "my-bare-metal-server", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "network_attachments": { "description": "The network attachments for this bare metal server, including the primary network\nattachment.", "items": { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentReference" }, "minItems": 0, "type": "array" }, "network_interfaces": { "description": "The network interfaces for this bare metal server, including the primary network\ninterface.\n\nIf this bare metal server has network attachments, each network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface.", "items": { "$ref": "#/components/schemas/NetworkInterfaceBareMetalServerContextReference" }, "minItems": 1, "type": "array" }, "primary_network_attachment": { "allOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentReference" }, { "description": "The primary network attachment for this bare metal server." } ] }, "primary_network_interface": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfaceBareMetalServerContextReference" }, { "description": "The primary network interface for this bare metal server.\n\nIf this bare metal server has network attachments, this primary network interface is\na [read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof the primary network attachment and its attached virtual network interface." } ] }, "profile": { "allOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileReference" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile)\nfor this bare metal server" } ] }, "reservation": { "allOf": [ { "$ref": "#/components/schemas/ReservationReference" }, { "description": "The reservation used by this bare metal server.\nIf absent, no reservation is in use." } ] }, "reservation_affinity": { "$ref": "#/components/schemas/BareMetalServerReservationAffinity" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this bare metal server" } ] }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of this bare metal server:\n- `deleting`: server is undergoing deletion\n- `failed`: server is failed and not usable (see `status_reasons`)\n- `maintenance`: server is undergoing maintenance (not usable)\n- `pending`: server is being provisioned and not yet usable\n- `reinitializing`: server is reinitializing and not yet usable\n- `restarting`: server is restarting and not yet usable\n- `running`: server is powered on\n- `starting`: server is starting and not yet usable\n- `stopped`: server is powered off\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "deleting", "failed", "maintenance", "pending", "reinitializing", "restarting", "running", "starting", "stopped" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/BareMetalServerStatusReason" }, "minItems": 0, "type": "array" }, "trusted_platform_module": { "$ref": "#/components/schemas/BareMetalServerTrustedPlatformModule" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this bare metal server resides in" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this bare metal server resides in" } ] } }, "required": [ "bandwidth", "boot_target", "cpu", "created_at", "crn", "disks", "enable_secure_boot", "firmware", "health_reasons", "health_state", "href", "id", "lifecycle_reasons", "lifecycle_state", "memory", "name", "network_interfaces", "primary_network_interface", "profile", "reservation_affinity", "resource_group", "resource_type", "status", "status_reasons", "trusted_platform_module", "vpc", "zone" ], "type": "object", "title": "BareMetalServer" }, "BareMetalServerBootTarget": { "description": "The resource from which this bare metal server is booted.\n\nThe resources supported by this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerDiskReference" } ], "type": "object", "title": "BareMetalServerBootTarget" }, "BareMetalServerByNetworkAttachment": { "properties": { "network_attachments": { "description": "The additional network attachments to create for the bare metal server.", "items": { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentPrototype" }, "minItems": 0, "type": "array", "uniqueItems": true }, "primary_network_attachment": { "allOf": [ { "$ref": "#/components/schemas/BareMetalServerPrimaryNetworkAttachmentPrototype" }, { "description": "The primary network attachment to create for the bare metal server" } ] } }, "required": [ "primary_network_attachment" ], "type": "object", "title": "BareMetalServerByNetworkAttachment" }, "BareMetalServerByNetworkInterface": { "deprecated": true, "properties": { "network_interfaces": { "description": "The additional bare metal server network interfaces to create", "items": { "$ref": "#/components/schemas/BareMetalServerNetworkInterfacePrototype" }, "minItems": 0, "type": "array", "uniqueItems": true }, "primary_network_interface": { "allOf": [ { "$ref": "#/components/schemas/BareMetalServerPrimaryNetworkInterfacePrototype" }, { "description": "The primary bare metal server network interface to create" } ] } }, "required": [ "primary_network_interface" ], "type": "object", "title": "BareMetalServerByNetworkInterface" }, "BareMetalServerCPU": { "description": "The bare metal server CPU configuration", "properties": { "architecture": { "description": "The CPU architecture.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "amd64", "s390x" ], "example": "amd64", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "core_count": { "description": "The total number of cores", "example": 80, "maximum": 10000, "minimum": 1, "type": "integer" }, "socket_count": { "description": "The total number of CPU sockets", "example": 4, "maximum": 128, "minimum": 1, "type": "integer" }, "threads_per_core": { "description": "The total number of hardware threads per core", "example": 2, "maximum": 64, "minimum": 1, "type": "integer" } }, "required": [ "architecture", "core_count", "socket_count", "threads_per_core" ], "type": "object", "title": "BareMetalServerCPU" }, "BareMetalServerCollection": { "example": { "bare_metal_servers": [ { "bandwidth": 100000, "boot_target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk" }, "cpu": { "architecture": "amd64", "core_count": 96, "socket_count": 4, "threads_per_core": 2 }, "created_at": "2024-10-22T06:09:15.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::bare-metal-server:0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "disks": [ { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "true" }, "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "interface_type": "sata", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk", "size": 960 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-86003aba-47db-4d07-bd76-62e00cca83e5", "id": "0717-86003aba-47db-4d07-bd76-62e00cca83e5", "interface_type": "nvme", "name": "mnemonic-energy-equipped-mammal", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-8372237f-77cb-47e4-9c61-b9d19ddfdbcd", "id": "0717-8372237f-77cb-47e4-9c61-b9d19ddfdbcd", "interface_type": "nvme", "name": "could-kilt-twisty-unloaded", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-e544d72d-ca08-4924-b748-a8f67b66286d", "id": "0717-e544d72d-ca08-4924-b748-a8f67b66286d", "interface_type": "nvme", "name": "wildcat-impromptu-dribble-hesitate", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-de34647b-e7fb-405b-85af-d28c6dfe142c", "id": "0717-de34647b-e7fb-405b-85af-d28c6dfe142c", "interface_type": "nvme", "name": "imperfect-stimulate-culpable-thumb", "resource_type": "bare_metal_server_disk", "size": 3200 } ], "enable_secure_boot": false, "firmware": { "update": "none" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "id": "0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304", "lifecycle_reasons": [], "lifecycle_state": "stable", "memory": 768, "name": "my-bare-metal-server", "network_attachments": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-bare-metal-server-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-7a14a055-ad88-41fe-8de2-b2f977054251", "id": "0717-7a14a055-ad88-41fe-8de2-b2f977054251", "name": "my-bare-metal-server-network-attachment-2", "primary_ip": { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "id": "0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "name": "my-virtual-network-interface-2", "resource_type": "virtual_network_interface" } } ], "network_interfaces": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-primary-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-7a14a055-ad88-41fe-8de2-b2f977054251", "id": "0717-7a14a055-ad88-41fe-8de2-b2f977054251", "name": "my-vlan-interface", "primary_ip": { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.2.10", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" } } ], "primary_network_attachment": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-bare-metal-server-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "primary_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-primary-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768", "name": "bx2-metal-192x768", "resource_type": "bare_metal_server_profile" }, "reservation_affinity": { "policy": "disabled", "pool": [] }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "bare_metal_server", "status": "running", "status_reasons": [], "trusted_platform_module": { "enabled": false, "mode": "disabled", "supported_modes": [ "disabled", "tpm_2" ] }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "bare_metal_servers": { "description": "A page of bare metal servers", "items": { "$ref": "#/components/schemas/BareMetalServer" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "bare_metal_servers", "first", "limit", "total_count" ], "type": "object", "title": "BareMetalServerCollection" }, "BareMetalServerConsoleAccessToken": { "description": "The bare metal server console access token information", "example": { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI", "console_type": "vnc", "created_at": "2021-05-21T06:39:04.000Z", "expires_at": "2021-05-21T06:42:04.000Z", "force": false, "href": "wss://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI" }, "properties": { "access_token": { "description": "A URL safe single-use token used to access the console WebSocket.", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI", "maxLength": 2000, "minLength": 14, "pattern": "^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$", "type": "string" }, "console_type": { "description": "The bare metal server console type for which this token may be used", "enum": [ "serial", "vnc" ], "example": "serial", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that the access token was created", "example": "2020-07-27T21:50:14.000Z", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "expires_at": { "description": "The date and time that the access token will expire", "example": "2020-07-27T21:51:14.000Z", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "force": { "description": "Indicates whether to disconnect an existing serial console session as the serial console\ncannot be shared. This has no effect on VNC consoles.", "example": false, "type": "boolean" }, "href": { "description": "The URL to access this bare metal server console.", "example": "wss://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI", "maxLength": 8000, "minLength": 10, "pattern": "^wss:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "access_token", "console_type", "created_at", "expires_at", "force", "href" ], "type": "object", "title": "BareMetalServerConsoleAccessToken" }, "BareMetalServerConsoleAccessTokenPrototype": { "description": "The bare metal server console configuration used to generate the access token", "properties": { "console_type": { "description": "The bare metal server console type for which this token may be used\n\nMust be `serial` for bare metal servers with a `cpu.architecture` of `s390x`", "enum": [ "serial", "vnc" ], "example": "serial", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "force": { "default": false, "description": "Indicates whether to disconnect an existing serial console session as the serial console\ncannot be shared. This has no effect on VNC consoles.", "example": false, "type": "boolean" } }, "required": [ "console_type" ], "type": "object", "title": "BareMetalServerConsoleAccessTokenPrototype" }, "BareMetalServerDisk": { "example": { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "true" }, "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "interface_type": "sata", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk", "size": 960 }, "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/BareMetalServerDiskAllowedUse" } ], "description": "The usage constraints to be matched against the requested bare metal server\nproperties to determine compatibility.\n\nOnly present for disks which are referenced in a bare metal server's `boot_target`\nproperty. The value of this property will be inherited from the source image at creation." }, "created_at": { "description": "The date and time that the disk was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this bare metal server disk", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server disk", "example": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "interface_type": { "$ref": "#/components/schemas/BareMetalServerDiskInterfaceType" }, "name": { "description": "The name for this bare metal server disk. The name is unique across all disks on the\nbare metal server.", "example": "my-bare-metal-server-disk", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server_disk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "size": { "description": "The size of the disk in GB (gigabytes)", "example": 100, "maximum": 100000, "minimum": 1, "type": "integer" } }, "required": [ "created_at", "href", "id", "interface_type", "name", "resource_type", "size" ], "type": "object", "title": "BareMetalServerDisk" }, "BareMetalServerDiskAllowedUse": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.\n\nIf specified, the value must be between `2019-01-01` and today's date (in UTC).\nIf unspecified, the `version` query parameter value will be used.", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using the image data in this disk.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "required": [ "api_version", "bare_metal_server" ], "type": "object", "title": "BareMetalServerDiskAllowedUse" }, "BareMetalServerDiskCollection": { "example": { "disks": [ { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "true" }, "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "interface_type": "sata", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk", "size": 960 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-86003aba-47db-4d07-bd76-62e00cca83e5", "id": "0717-86003aba-47db-4d07-bd76-62e00cca83e5", "interface_type": "nvme", "name": "mnemonic-energy-equipped-mammal", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-8372237f-77cb-47e4-9c61-b9d19ddfdbcd", "id": "0717-8372237f-77cb-47e4-9c61-b9d19ddfdbcd", "interface_type": "nvme", "name": "could-kilt-twisty-unloaded", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-e544d72d-ca08-4924-b748-a8f67b66286d", "id": "0717-e544d72d-ca08-4924-b748-a8f67b66286d", "interface_type": "nvme", "name": "wildcat-impromptu-dribble-hesitate", "resource_type": "bare_metal_server_disk", "size": 3200 }, { "created_at": "2024-10-23T06:09:15.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-de34647b-e7fb-405b-85af-d28c6dfe142c", "id": "0717-de34647b-e7fb-405b-85af-d28c6dfe142c", "interface_type": "nvme", "name": "imperfect-stimulate-culpable-thumb", "resource_type": "bare_metal_server_disk", "size": 3200 } ] }, "properties": { "disks": { "description": "The disks for the bare metal server", "items": { "$ref": "#/components/schemas/BareMetalServerDisk" }, "type": "array" } }, "required": [ "disks" ], "type": "object", "title": "BareMetalServerDiskCollection" }, "BareMetalServerDiskInterfaceType": { "description": "The disk attachment interface used:\n- `fcp`: Fiber Channel Protocol\n- `sata`: Serial Advanced Technology Attachment\n- `nvme`: Non-Volatile Memory Express\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "fcp", "nvme", "sata" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "BareMetalServerDiskInterfaceType" }, "BareMetalServerDiskPatch": { "properties": { "name": { "description": "The name for this bare metal server disk. The name must not be used by another disk on\nthe bare metal server.", "example": "my-bare-metal-server-disk-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "BareMetalServerDiskPatch" }, "BareMetalServerDiskReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "id": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "name": "my-bare-metal-server-disk", "resource_type": "bare_metal_server_disk" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this bare metal server disk", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/disks/0717-3744f199-6ccc-4698-8772-bb3937348c96", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server disk", "example": "0717-3744f199-6ccc-4698-8772-bb3937348c96", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this bare metal server disk. The name is unique across all disks on the\nbare metal server.", "example": "my-bare-metal-server-disk", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server_disk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "BareMetalServerDiskReference" }, "BareMetalServerFirmware": { "description": "Firmware information for the bare metal server", "properties": { "update": { "description": "The type of update available.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "none", "optional", "required" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "update" ], "type": "object", "title": "BareMetalServerFirmware" }, "BareMetalServerFirmwareUpdateOptions": { "properties": { "auto_start": { "default": true, "description": "Indicates whether to automatically start the bare metal server after the\nfirmware update is successfully completed.", "example": true, "type": "boolean" } }, "type": "object", "title": "BareMetalServerFirmwareUpdateOptions" }, "BareMetalServerHealthReason": { "properties": { "code": { "description": "A reason code for this health state.", "enum": [ "reservation_capacity_unavailable", "reservation_deleted", "reservation_expired", "reservation_failed" ], "example": "reservation_expired", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "The reservation cannot be used because it has expired.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "BareMetalServerHealthReason" }, "BareMetalServerInitialization": { "example": { "image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "keys": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "fingerprint": "SHA256:RJ+YWs2kupwFGiJuLqY85twmcdLOUcjIc9cA6IR8n8E", "href": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "name": "my-key-1" } ], "user_accounts": [ { "encrypted_password": "qQ+/YEApnl1ZtEgIrfprzb065307thTkzlnLqL5ICpesdbBN03dyCQ==", "encryption_key": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "fingerprint": "SHA256:RJ+YWs2kupwFGiJuLqY85twmcdLOUcjIc9cA6IR8n8E", "href": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "name": "my-key-1" }, "resource_type": "host_user_account", "username": "root" } ] }, "properties": { "image": { "allOf": [ { "$ref": "#/components/schemas/ImageReference" }, { "description": "The image the bare metal server was provisioned from" } ] }, "keys": { "description": "The public SSH keys used at initialization.", "items": { "$ref": "#/components/schemas/KeyReference" }, "type": "array" }, "user_accounts": { "description": "The user accounts that are created at initialization. There can be multiple\naccount types distinguished by the `resource_type` property.", "items": { "$ref": "#/components/schemas/BareMetalServerInitializationUserAccount" }, "minItems": 0, "type": "array" } }, "required": [ "image", "keys", "user_accounts" ], "type": "object", "title": "BareMetalServerInitialization" }, "BareMetalServerInitializationEncryptedPassword": { "description": "The administrator password at initialization, encrypted using `encryption_key`, and\nreturned base64-encoded.", "example": "qQ+/YEApnl1ZtEgIrfprzb065307thTkzlnLqL5ICpesdbBN03dyCQ==", "format": "byte", "maxLength": 172, "minLength": 4, "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$", "type": "string", "title": "BareMetalServerInitializationEncryptedPassword" }, "BareMetalServerInitializationHostUserAccount": { "properties": { "encrypted_password": { "$ref": "#/components/schemas/BareMetalServerInitializationEncryptedPassword" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/KeyReference" }, { "description": "The public SSH key used to encrypt the password." } ] }, "resource_type": { "description": "The resource type", "enum": [ "host_user_account" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "username": { "description": "The username for the account created at initialization", "example": "Administrator", "type": "string" } }, "required": [ "encrypted_password", "encryption_key", "resource_type", "username" ], "type": "object", "title": "BareMetalServerInitializationHostUserAccount" }, "BareMetalServerInitializationPrototype": { "properties": { "image": { "allOf": [ { "$ref": "#/components/schemas/ImageIdentity" }, { "description": "The image to be used when provisioning the bare metal server." } ] }, "keys": { "description": "The public SSH keys to install on the bare metal server. Keys will be made available to\nthe bare metal server as cloud-init vendor data. For cloud-init enabled images, these\nkeys will also be added as SSH authorized keys for the [default\nuser](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account).\n\nFor Windows images, at least one key must be specified, and one will be selected to\nencrypt the administrator password. Keys are optional for other images, but if no keys\nare specified, the bare metal server will be inaccessible unless the specified image\nprovides another means of access.", "example": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "items": { "$ref": "#/components/schemas/KeyIdentity" }, "maxItems": 10, "type": "array", "uniqueItems": true }, "user_data": { "default": "", "description": "The user data to be made available when initializing the bare metal server.", "maxLength": 65535, "minLength": 0, "pattern": "^[\\s\\S]*$", "type": "string" } }, "required": [ "image", "keys" ], "type": "object", "title": "BareMetalServerInitializationPrototype" }, "BareMetalServerInitializationUserAccount": { "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerInitializationHostUserAccount" } ], "type": "object", "title": "BareMetalServerInitializationUserAccount" }, "BareMetalServerLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "BareMetalServerLifecycleReason" }, "BareMetalServerNetworkAttachment": { "example": { "allow_to_float": false, "created_at": "2024-10-23T03:42:32.993Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "interface_type": "vlan", "lifecycle_state": "stable", "mac_address": "02:00:08:00:C4:6A", "name": "my-bare-metal-server-network-attachment", "port_speed": 1000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vlan": 4 }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentByPCI" }, { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentByVLAN" } ], "properties": { "created_at": { "description": "The date and time that the bare metal server network attachment was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this bare metal server network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server network attachment", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "interface_type": { "description": "The network attachment's interface type:\n- `pci`: a physical PCI device which can only be created or deleted when the bare metal\n server is stopped\n - Has an `allowed_vlans` property which controls the VLANs that will be permitted\n to use the PCI attachment\n - Cannot directly use an IEEE 802.1Q tag.\n- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its\n array of `allowed_vlans`.\n - Must use an IEEE 802.1Q tag.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "pci", "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the bare metal server network attachment" } ] }, "name": { "description": "The name for this bare metal server network attachment. The name is unique\nacross all network attachments for the bare metal server.", "example": "my-bare-metal-server-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "port_speed": { "description": "The port speed for this bare metal server network attachment in Mbps", "example": 1000, "type": "integer" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of the virtual network interface for the bare metal server\nnetwork attachment" } ] }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The subnet of the virtual network interface for the bare metal server network\nattachment" } ] }, "type": { "description": "The bare metal server network attachment type.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "primary", "secondary" ], "example": "primary", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "virtual_network_interface": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfaceReferenceAttachmentContext" }, { "description": "The virtual network interface for this bare metal server network attachment" } ] } }, "required": [ "created_at", "href", "id", "interface_type", "lifecycle_state", "name", "port_speed", "primary_ip", "resource_type", "subnet", "type", "virtual_network_interface" ], "type": "object", "title": "BareMetalServerNetworkAttachment" }, "BareMetalServerNetworkAttachmentByPCI": { "properties": { "allowed_vlans": { "description": "The VLAN IDs allowed for `vlan` attachments using this PCI attachment.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "interface_type": { "enum": [ "pci" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "allowed_vlans", "interface_type" ], "type": "object", "title": "BareMetalServerNetworkAttachmentByPCI" }, "BareMetalServerNetworkAttachmentByPCIPrototype": { "properties": { "allowed_vlans": { "default": [], "description": "The VLAN IDs to allow for `vlan` attachments using this PCI attachment.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "interface_type": { "enum": [ "pci" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "interface_type" ], "type": "object", "title": "BareMetalServerNetworkAttachmentByPCIPrototype" }, "BareMetalServerNetworkAttachmentByVLAN": { "properties": { "allow_to_float": { "description": "Indicates if the data path for the network attachment can float to another bare metal\nserver. Can only be `true` for network attachments with an `interface_type` of `vlan`.\n\nIf `true`, and the network detects traffic for this data path on another bare metal\nserver in the resource group, the network attachment will be automatically deleted\nfrom this bare metal server and a new network attachment with the same `id`, `name`\nand `vlan` will be created on the other bare metal server. The virtual network\ninterface for this network attachment will be automatically be attached to the new\nnetwork attachment.\n\nFor the data path to float, the other bare metal server must be in the same\n`resource_group`, and must have a network attachment with `interface_type` of `pci`\nwith `allowed_vlans` including this network attachment's `vlan`.", "example": false, "type": "boolean" }, "interface_type": { "enum": [ "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vlan": { "description": "The IEEE 802.1Q VLAN ID that must be used for all traffic on this attachment", "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" } }, "required": [ "allow_to_float", "interface_type", "vlan" ], "type": "object", "title": "BareMetalServerNetworkAttachmentByVLAN" }, "BareMetalServerNetworkAttachmentByVLANPrototype": { "properties": { "allow_to_float": { "default": false, "description": "Indicates if the data path for the network attachment can float to another bare metal\nserver. Can only be `true` for network attachments with an `interface_type` of `vlan`.\n\nIf `true`, and the network detects traffic for this data path on another bare metal\nserver in the resource group, the network attachment will be automatically deleted\nfrom this bare metal server and a new network attachment with the same `id`, `name`\nand `vlan` will be created on the other bare metal server. The virtual network\ninterface for this network attachment will be automatically be attached to the new\nnetwork attachment.\n\nFor the data path to float, the other bare metal server must be in the same\n`resource_group`, and must have a network attachment with `interface_type` of `pci`\nwith `allowed_vlans` including this network attachment's `vlan`.", "example": false, "type": "boolean" }, "interface_type": { "enum": [ "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vlan": { "description": "The IEEE 802.1Q VLAN ID that must be used for all traffic on this attachment", "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" } }, "required": [ "interface_type", "vlan" ], "type": "object", "title": "BareMetalServerNetworkAttachmentByVLANPrototype" }, "BareMetalServerNetworkAttachmentCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6?limit=20" }, "limit": 20, "network_attachments": [ { "allow_to_float": false, "created_at": "2024-10-23T03:42:32.993Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "interface_type": "vlan", "lifecycle_state": "stable", "mac_address": "02:00:08:00:C4:6A", "name": "my-bare-metal-server-network-attachment", "port_speed": 1000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vlan": 4 }, { "allow_to_float": true, "created_at": "2024-10-23T03:42:31.933Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-7a14a055-ad88-41fe-8de2-b2f977054251", "id": "0717-7a14a055-ad88-41fe-8de2-b2f977054251", "interface_type": "vlan", "lifecycle_state": "stable", "mac_address": "02:09:04:00:C4:6B", "name": "my-bare-metal-server-network-attachment-2", "port_speed": 1000, "primary_ip": { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" }, "type": "secondary", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "id": "0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "name": "my-virtual-network-interface-2", "resource_type": "virtual_network_interface" }, "vlan": 4 } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "network_attachments": { "description": "The network attachments for the bare metal server", "items": { "$ref": "#/components/schemas/BareMetalServerNetworkAttachment" }, "type": "array" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments?start=d3e721fd-c988-4670-9927-dbd5e7b07fc6&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "network_attachments", "total_count" ], "type": "object", "title": "BareMetalServerNetworkAttachmentCollection" }, "BareMetalServerNetworkAttachmentPatch": { "properties": { "allowed_vlans": { "description": "The VLAN IDs to allow for `vlan` attachments using this PCI attachment, replacing any\nexisting VLAN IDs. The specified values must include IDs for all `vlan` attachments\ncurrently using this PCI attachment.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "name": { "description": "The name for this network attachment. The name must not be used by another network\nattachment for the bare metal server.", "example": "my-bare-metal-server-network-attachment-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "BareMetalServerNetworkAttachmentPatch" }, "BareMetalServerNetworkAttachmentPrototype": { "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentByPCIPrototype" }, { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentByVLANPrototype" } ], "properties": { "interface_type": { "description": "The network attachment's interface type:\n- `pci`: a physical PCI device which can only be created or deleted when the bare metal\n server is stopped\n - Has an `allowed_vlans` property which controls the VLANs that will be permitted\n to use the PCI attachment\n - Cannot directly use an IEEE 802.1Q tag.\n - Not supported on bare metal servers with a `cpu.architecture` of `s390x`\n- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its\n array of `allowed_vlans`.\n - Must use an IEEE 802.1Q tag.\n - Not supported on bare metal servers with a `cpu.architecture` of `s390x`", "enum": [ "pci", "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this bare metal server network attachment. Names must be unique within the\nbare metal server the network attachment resides in. If unspecified, the name will be a\nhyphenated list of randomly-selected words.", "example": "my-bare-metal-server-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "virtual_network_interface": { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface" } }, "required": [ "interface_type", "virtual_network_interface" ], "type": "object", "title": "BareMetalServerNetworkAttachmentPrototype" }, "BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface": { "description": "A virtual network interface for the bare metal server network attachment. This can be\nspecified using an existing virtual network interface, or a prototype object for a new\nvirtual network interface.\n\nIf an existing virtual network interface is specified, it must not be the target of a flow\nlog collector.", "oneOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" } ], "type": "object", "title": "BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface" }, "BareMetalServerNetworkAttachmentReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-bare-metal-server-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "bare_metal_server_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this bare metal server network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server network attachment", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this bare metal server network attachment. The name is unique\nacross all network attachments for the bare metal server.", "example": "my-bare-metal-server-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of the virtual network interface for the bare metal server\nnetwork attachment" } ] }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The subnet of the virtual network interface for the bare metal server network\nattachment" } ] }, "virtual_network_interface": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfaceReferenceAttachmentContext" }, { "description": "The virtual network interface for this bare metal server network attachment" } ] } }, "required": [ "href", "id", "name", "primary_ip", "resource_type", "subnet", "virtual_network_interface" ], "type": "object", "title": "BareMetalServerNetworkAttachmentReference" }, "BareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext": { "properties": { "href": { "description": "The URL for this bare metal server network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server network attachment", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this bare metal server network attachment. The name is unique\nacross all network attachments for the bare metal server.", "example": "my-bare-metal-server-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "BareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext" }, "BareMetalServerNetworkInterface": { "discriminator": { "mapping": { "hipersocket": "#/components/schemas/BareMetalServerNetworkInterfaceByHiperSocket", "pci": "#/components/schemas/BareMetalServerNetworkInterfaceByPCI", "vlan": "#/components/schemas/BareMetalServerNetworkInterfaceByVLAN" }, "propertyName": "interface_type" }, "example": { "allow_ip_spoofing": false, "allowed_vlans": [ 4 ], "created_at": "2021-05-21T06:09:15.000Z", "enable_infrastructure_nat": false, "floating_ips": [ { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" } ], "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "interface_type": "pci", "mac_address": "02:09:04:00:C4:6A", "name": "my-primary-network-interface", "port_speed": 100000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "status": "available", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceByHiperSocket" }, { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceByPCI" }, { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceByVLAN" } ], "properties": { "allow_ip_spoofing": { "description": "Indicates whether source IP spoofing is allowed on this bare metal server network\ninterface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand source IP spoofing is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "created_at": { "description": "The date and time that the bare metal server network interface was created.\n\nIf this bare metal server has network attachments, this network interface was\ncreated as a [read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nwhen its corresponding network attachment was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "enable_infrastructure_nat": { "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the bare metal server network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- `interface_type` must not be `hipersocket`.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand infrastructure NAT is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "floating_ips": { "description": "The floating IPs associated with this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the floating IPs are associated with the attached virtual network interface.", "items": { "$ref": "#/components/schemas/FloatingIPReference" }, "type": "array" }, "href": { "description": "The URL for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/bare_metal_servers/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "interface_type": { "description": "The interface type:\n- `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity\n within a `s390x` based system\n- `pci`: a physical PCI device which can only be created or deleted when the bare metal\n server is stopped\n - Has an `allowed_vlans` property which controls the VLANs that will be permitted\n to use the PCI interface\n - Cannot directly use an IEEE 802.1Q tag.\n- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its\n array of `allowed_vlans`.\n - Must use an IEEE 802.1Q tag.\n - Has its own security groups and does not inherit those of the PCI device through\n which traffic flows.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the interface type is that of the corresponding network attachment.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "hipersocket", "pci", "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "mac_address": { "description": "The MAC address of this bare metal server network interface. If the MAC address has\nnot yet been selected, the value will be empty.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the MAC address is that of the attached virtual network interface.", "example": "02:00:04:00:C4:6A", "maxLength": 17, "minLength": 0, "pattern": "^$|^([0-9A-F]{2}:){5}[0-9A-F]{2}$", "type": "string" }, "name": { "description": "The name for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the name matches its corresponding network attachment.", "example": "my-bare-metal-server-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "port_speed": { "description": "The bare metal server network interface port speed in Mbps.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the port speed is that of its corresponding network attachment.", "example": 1000, "type": "integer" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of this bare metal server network interface." } ] }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "security_groups": { "description": "The security groups targeting this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the security groups are associated with the attached virtual network interface.", "items": { "$ref": "#/components/schemas/SecurityGroupReference" }, "minItems": 1, "type": "array", "uniqueItems": true }, "status": { "description": "The status of the bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\nread-only representation of its corresponding network attachment and its attached\nvirtual network interface, and the status is [computed from\nthem](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients).", "enum": [ "available", "deleting", "failed", "pending" ], "example": "available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The associated subnet" } ] }, "type": { "description": "The bare metal server network interface type.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the type is that of its corresponding network attachment.", "enum": [ "primary", "secondary" ], "example": "primary", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "allow_ip_spoofing", "created_at", "enable_infrastructure_nat", "floating_ips", "href", "id", "interface_type", "mac_address", "name", "port_speed", "primary_ip", "resource_type", "security_groups", "status", "subnet", "type" ], "type": "object", "title": "BareMetalServerNetworkInterface" }, "BareMetalServerNetworkInterfaceByHiperSocket": { "properties": { "interface_type": { "enum": [ "hipersocket" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "interface_type" ], "type": "object", "title": "BareMetalServerNetworkInterfaceByHiperSocket" }, "BareMetalServerNetworkInterfaceByHiperSocketPrototype": { "properties": { "interface_type": { "enum": [ "hipersocket" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "interface_type" ], "type": "object", "title": "BareMetalServerNetworkInterfaceByHiperSocketPrototype" }, "BareMetalServerNetworkInterfaceByPCI": { "properties": { "allowed_vlans": { "description": "The VLAN IDs allowed for `vlan` interfaces using this PCI interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the VLAN IDs match the `allow_vlans` of the corresponding network attachment.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "interface_type": { "enum": [ "pci" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "allowed_vlans", "interface_type" ], "type": "object", "title": "BareMetalServerNetworkInterfaceByPCI" }, "BareMetalServerNetworkInterfaceByPCIPrototype": { "properties": { "allowed_vlans": { "default": [], "description": "The VLAN IDs to allow for `vlan` interfaces using this PCI interface.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "interface_type": { "enum": [ "pci" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "interface_type" ], "type": "object", "title": "BareMetalServerNetworkInterfaceByPCIPrototype" }, "BareMetalServerNetworkInterfaceByVLAN": { "properties": { "allow_interface_to_float": { "description": "Indicates if the data path for the network interface can float to another bare metal\nserver. Can only be `true` for network interfaces with an `interface_type` of `vlan`.\n\nIf `true`, and the network detects traffic for this data path on another bare metal\nserver in the resource group, the network interface will be automatically deleted\nfrom this bare metal server and a new network interface with the same `id`, `name`\nand `vlan` will be created on the other bare metal server.\n\nFor the data path to float, the other bare metal server must be in the same\n`resource_group`, and must have a network interface with `interface_type` of `pci`\nwith `allowed_vlans` including this network interface's `vlan`.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the value of this property matches that of the `allow_to_float` property of the\ncorresponding network attachment.", "example": false, "type": "boolean" }, "interface_type": { "enum": [ "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vlan": { "description": "The VLAN ID used in the IEEE 802.1Q tag present in all traffic on this interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the VLAN ID matches the `vlan` of the corresponding network attachment.", "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" } }, "required": [ "allow_interface_to_float", "interface_type", "vlan" ], "type": "object", "title": "BareMetalServerNetworkInterfaceByVLAN" }, "BareMetalServerNetworkInterfaceByVLANPrototype": { "properties": { "allow_interface_to_float": { "default": false, "description": "Indicates if the data path for the network interface can float to another bare metal\nserver. Can only be `true` for network interfaces with an `interface_type` of `vlan`.\n\nIf `true`, and the network detects traffic for this data path on another bare metal\nserver in the resource group, the network interface will be automatically deleted\nfrom this bare metal server and a new network interface with the same `id`, `name`\nand `vlan` will be created on the other bare metal server.\n\nFor the data path to float, the other bare metal server must be in the same\n`resource_group`, and must have a network interface with `interface_type` of `pci`\nwith `allowed_vlans` including this network interface's `vlan`.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the value of this property matches that of the `allow_to_float` property of the\ncorresponding network attachment.", "example": false, "type": "boolean" }, "interface_type": { "enum": [ "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vlan": { "description": "The VLAN ID used in the IEEE 802.1Q tag present in all traffic on this interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the VLAN ID matches the `vlan` of the corresponding network attachment.", "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" } }, "required": [ "interface_type", "vlan" ], "type": "object", "title": "BareMetalServerNetworkInterfaceByVLANPrototype" }, "BareMetalServerNetworkInterfaceCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304?limit=20" }, "limit": 20, "network_interfaces": [ { "allow_ip_spoofing": false, "allowed_vlans": [ 4 ], "created_at": "2021-05-21T06:09:15.000Z", "enable_infrastructure_nat": false, "floating_ips": [ { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" } ], "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "interface_type": "pci", "mac_address": "02:09:04:00:C4:6A", "name": "my-primary-network-interface", "port_speed": 100000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "status": "available", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary" }, { "allow_interface_to_float": true, "allow_ip_spoofing": false, "allowed_vlans": [ 4 ], "created_at": "2024-10-23T03:42:31.933Z", "enable_infrastructure_nat": false, "floating_ips": [ { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, { "address": "192.0.2.3", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-ec9fa26d-8baa-4938-a056-990ee016d224", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-ec9fa26d-8baa-4938-a056-990ee016d224", "id": "r006-ec9fa26d-8baa-4938-a056-990ee016d224", "name": "my-floating-ip-2" } ], "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-7a14a055-ad88-41fe-8de2-b2f977054251", "id": "0717-7a14a055-ad88-41fe-8de2-b2f977054251", "interface_type": "vlan", "mac_address": "02:09:04:00:C4:6B", "name": "my-vlan-interface", "port_speed": 100000, "primary_ip": { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.2.10", "resource_type": "network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "status": "available", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" }, "type": "secondary", "vlan": 4 } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "network_interfaces": { "description": "The network interfaces for the bare metal server", "items": { "$ref": "#/components/schemas/BareMetalServerNetworkInterface" }, "type": "array" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces?start=d3e721fd-c988-4670-9927-dbd5e7b07fc6&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "network_interfaces", "total_count" ], "type": "object", "title": "BareMetalServerNetworkInterfaceCollection" }, "BareMetalServerNetworkInterfaceIdentity": { "description": "Identifies a bare metal server network interface by a unique property.", "example": { "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceIdentityById" }, { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceIdentityByHref" } ], "type": "object", "title": "BareMetalServerNetworkInterfaceIdentity" }, "BareMetalServerNetworkInterfaceIdentityByHref": { "properties": { "href": { "description": "The URL for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/bare_metal_servers/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "BareMetalServerNetworkInterfaceIdentityByHref" }, "BareMetalServerNetworkInterfaceIdentityById": { "properties": { "id": { "description": "The unique identifier for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "BareMetalServerNetworkInterfaceIdentityById" }, "BareMetalServerNetworkInterfacePatch": { "properties": { "allow_ip_spoofing": { "description": "Indicates whether source IP spoofing is allowed on this bare metal server network\ninterface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand source IP spoofing is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "allowed_vlans": { "description": "The VLAN IDs to allow for `vlan` interfaces using this PCI interface, replacing any\nexisting VLAN IDs. The specified values must include IDs for all `vlan` interfaces\ncurrently using this PCI interface.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "enable_infrastructure_nat": { "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the bare metal server network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- `interface_type` must not be `hipersocket`.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand infrastructure NAT is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "name": { "description": "The name for this bare metal server network interface. The name must not be used by\nanother network interface on the bare metal server.", "example": "my-bare-metal-server-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "BareMetalServerNetworkInterfacePatch" }, "BareMetalServerNetworkInterfacePrototype": { "discriminator": { "mapping": { "hipersocket": "#/components/schemas/BareMetalServerNetworkInterfaceByHiperSocketPrototype", "pci": "#/components/schemas/BareMetalServerNetworkInterfaceByPCIPrototype", "vlan": "#/components/schemas/BareMetalServerNetworkInterfaceByVLANPrototype" }, "propertyName": "interface_type" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceByHiperSocketPrototype" }, { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceByPCIPrototype" }, { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceByVLANPrototype" } ], "properties": { "allow_ip_spoofing": { "default": false, "description": "Indicates whether source IP spoofing is allowed on this bare metal server network\ninterface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand source IP spoofing is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "enable_infrastructure_nat": { "default": true, "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the bare metal server network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- `interface_type` must not be `hipersocket`.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand infrastructure NAT is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "interface_type": { "description": "The interface type:\n- `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity\n within a `s390x` based system\n - Not supported on bare metal servers with a `cpu.architecture` of `amd64`\n- `pci`: a physical PCI device which can only be created or deleted when the bare metal\n server is stopped\n - Has an `allowed_vlans` property which controls the VLANs that will be permitted\n to use the PCI interface\n - Cannot directly use an IEEE 802.1Q tag.\n - Not supported on bare metal servers with a `cpu.architecture` of `s390x`\n- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its\n array of `allowed_vlans`.\n - Must use an IEEE 802.1Q tag.\n - Has its own security groups and does not inherit those of the PCI device through\n which traffic flows.\n - Not supported on bare metal servers with a `cpu.architecture` of `s390x`", "enum": [ "hipersocket", "pci", "vlan" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this bare metal server network interface. The name must not be used by\nanother network interface on the bare metal server. If unspecified, the name will be a\nhyphenated list of randomly-selected words.", "example": "my-bare-metal-server-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfaceIPPrototype" } ], "description": "The primary IP address to bind to the bare metal server network interface. This can be\nspecified using an existing reserved IP, or a prototype object for a new reserved IP.\n\nIf an existing reserved IP or a prototype object with an address is specified, it must\nbe available on the bare metal server network interface's subnet. Otherwise, an\navailable address on the subnet will be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "security_groups": { "description": "The security groups to use for this bare metal server network interface. If\nunspecified, the VPC's default security group is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "type": "array", "uniqueItems": true }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The associated subnet" } ] } }, "required": [ "interface_type", "subnet" ], "type": "object", "title": "BareMetalServerNetworkInterfacePrototype" }, "BareMetalServerNetworkInterfaceReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-primary-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/bare_metal_servers/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this bare metal server network interface.", "example": "my-bare-metal-server-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of this bare metal server network interface." } ] }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "primary_ip", "resource_type" ], "type": "object", "title": "BareMetalServerNetworkInterfaceReference" }, "BareMetalServerNetworkInterfaceReferenceTargetContext": { "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/bare_metal_servers/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this bare metal server network interface.", "example": "my-bare-metal-server-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "BareMetalServerNetworkInterfaceReferenceTargetContext" }, "BareMetalServerPatch": { "properties": { "bandwidth": { "description": "The total bandwidth (in megabits per second) shared across the bare metal\nserver's network interfaces. The specified value must match one of the\nbandwidth values in the bare metal server's profile.", "example": 20000, "maximum": 1000000, "minimum": 1, "type": "integer" }, "enable_secure_boot": { "description": "Indicates whether secure boot is enabled. If enabled, the image must support secure\nboot or the bare metal server will fail to boot.\n\nFor `enable_secure_boot` to be changed, the bare metal server `status` must be\n`stopped`.", "example": false, "type": "boolean" }, "name": { "description": "The name for this bare metal server. The name must not be used by another bare metal\nserver in the region. Changing the name will not affect the system hostname.", "example": "my-bare-metal-server", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "reservation_affinity": { "$ref": "#/components/schemas/BareMetalServerReservationAffinityPatch" }, "trusted_platform_module": { "$ref": "#/components/schemas/BareMetalServerTrustedPlatformModulePatch" } }, "type": "object", "title": "BareMetalServerPatch" }, "BareMetalServerPrimaryNetworkAttachmentByPCIPrototype": { "properties": { "allowed_vlans": { "default": [], "description": "The VLAN IDs to allow for `vlan` attachments using this PCI attachment.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "interface_type": { "enum": [ "pci" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "BareMetalServerPrimaryNetworkAttachmentByPCIPrototype" }, "BareMetalServerPrimaryNetworkAttachmentPrototype": { "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerPrimaryNetworkAttachmentByPCIPrototype" } ], "properties": { "interface_type": { "default": "pci", "description": "The network attachment's interface type:\n- `pci`: a physical PCI device which can only be created or deleted when the bare metal\n server is stopped\n - Has an `allowed_vlans` property which controls the VLANs that will be permitted\n to use the PCI attachment\n - Cannot directly use an IEEE 802.1Q tag.\n - Not supported on bare metal servers with a `cpu.architecture` of `s390x`", "enum": [ "pci" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this bare metal server network attachment. Names must be unique within the\nbare metal server the network attachment resides in. If unspecified, the name will be a\nhyphenated list of randomly-selected words.", "example": "my-bare-metal-server-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "virtual_network_interface": { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface" } }, "required": [ "virtual_network_interface" ], "type": "object", "title": "BareMetalServerPrimaryNetworkAttachmentPrototype" }, "BareMetalServerPrimaryNetworkInterfacePrototype": { "properties": { "allow_ip_spoofing": { "default": false, "description": "Indicates whether source IP spoofing is allowed on this bare metal server network\ninterface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand source IP spoofing is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "allowed_vlans": { "description": "The VLAN IDs allowed for `vlan` interfaces using this PCI interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the VLAN IDs match the `allow_vlans` of the corresponding network attachment.", "items": { "example": 4, "maximum": 4094, "minimum": 1, "type": "integer" }, "minItems": 0, "type": "array", "uniqueItems": true }, "enable_infrastructure_nat": { "default": true, "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the bare metal server network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- `interface_type` must not be `hipersocket`.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand infrastructure NAT is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "interface_type": { "default": "pci", "description": "The interface type:\n- `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity\n within a `s390x` based system.\n - Not supported on bare metal servers with a `cpu.architecture` of `amd64`\n- `pci`: a physical PCI device which can only be created or deleted when the bare metal\n server is stopped\n - Has an `allowed_vlans` property which controls the VLANs that will be permitted\n to use the PCI interface\n - Cannot directly use an IEEE 802.1Q tag.\n - Not supported on bare metal servers with a `cpu.architecture` of `s390x`", "enum": [ "hipersocket", "pci" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this bare metal server network interface. The name must not be used by\nanother network interface on the bare metal server. If unspecified, the name will\nbe a hyphenated list of randomly-selected words.", "example": "my-bare-metal-server-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfaceIPPrototype" } ], "description": "The primary IP address to bind to the bare metal server network interface. This can be\nspecified using an existing reserved IP, or a prototype object for a new reserved IP.\n\nIf an existing reserved IP or a prototype object with an address is specified, it must\nbe available on the bare metal server network interface's subnet. Otherwise, an\navailable address on the subnet will be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "security_groups": { "description": "The security groups to use for this bare metal server network interface. If\nunspecified, the VPC's default security group is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "type": "array", "uniqueItems": true }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The associated subnet" } ] } }, "required": [ "subnet" ], "type": "object", "title": "BareMetalServerPrimaryNetworkInterfacePrototype" }, "BareMetalServerProfile": { "example": { "bandwidth": { "type": "fixed", "value": 100000 }, "console_types": { "type": "enum", "values": [ "serial", "vnc" ] }, "cpu_architecture": { "type": "fixed", "value": "amd64" }, "cpu_core_count": { "type": "fixed", "value": 96 }, "cpu_socket_count": { "type": "fixed", "value": 4 }, "disks": [ { "quantity": { "type": "fixed", "value": 1 }, "size": { "type": "fixed", "value": 960 }, "supported_interface_types": { "default": "sata", "type": "enum", "values": [ "sata" ] } } ], "family": "balanced", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768", "memory": { "type": "fixed", "value": 768 }, "name": "bx2-metal-192x768", "network_attachment_count": { "max": 128, "min": 1, "type": "range" }, "network_interface_count": { "max": 128, "min": 1, "type": "range" }, "os_architecture": { "default": "amd64", "type": "enum", "values": [ "amd64" ] }, "reservation_terms": { "type": "enum", "values": [ "one_year", "three_year" ] }, "resource_type": "bare_metal_server_profile", "supported_trusted_platform_module_modes": { "type": "enum", "values": [ "disabled", "tpm_2" ] }, "virtual_network_interfaces_supported": { "type": "fixed", "value": true } }, "properties": { "bandwidth": { "$ref": "#/components/schemas/BareMetalServerProfileBandwidth" }, "console_types": { "$ref": "#/components/schemas/BareMetalServerProfileConsoleTypes" }, "cpu_architecture": { "$ref": "#/components/schemas/BareMetalServerProfileCPUArchitecture" }, "cpu_core_count": { "$ref": "#/components/schemas/BareMetalServerProfileCPUCoreCount" }, "cpu_socket_count": { "$ref": "#/components/schemas/BareMetalServerProfileCPUSocketCount" }, "disks": { "$ref": "#/components/schemas/BareMetalServerProfileDisks" }, "family": { "$ref": "#/components/schemas/BareMetalServerProfileFamily" }, "href": { "description": "The URL for this bare metal server profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/profiles/bx2-metal-192x768", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "memory": { "$ref": "#/components/schemas/BareMetalServerProfileMemory" }, "name": { "description": "The name for this bare metal server profile", "example": "bx2-metal-192x768", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "network_attachment_count": { "$ref": "#/components/schemas/BareMetalServerProfileNetworkAttachmentCount" }, "network_interface_count": { "$ref": "#/components/schemas/BareMetalServerProfileNetworkInterfaceCount" }, "os_architecture": { "$ref": "#/components/schemas/BareMetalServerProfileOSArchitecture" }, "reservation_terms": { "$ref": "#/components/schemas/BareMetalServerProfileReservationTerms" }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "supported_trusted_platform_module_modes": { "$ref": "#/components/schemas/BareMetalServerProfileSupportedTrustedPlatformModuleModes" }, "virtual_network_interfaces_supported": { "$ref": "#/components/schemas/BareMetalServerProfileVirtualNetworkInterfacesSupported" } }, "required": [ "bandwidth", "console_types", "cpu_architecture", "cpu_core_count", "cpu_socket_count", "disks", "family", "href", "memory", "name", "network_attachment_count", "network_interface_count", "os_architecture", "reservation_terms", "resource_type", "supported_trusted_platform_module_modes", "virtual_network_interfaces_supported" ], "type": "object", "title": "BareMetalServerProfile" }, "BareMetalServerProfileBandwidth": { "example": { "type": "fixed", "value": 20000 }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileBandwidthFixed" }, { "$ref": "#/components/schemas/BareMetalServerProfileBandwidthRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileBandwidthEnum" }, { "$ref": "#/components/schemas/BareMetalServerProfileBandwidthDependent" } ], "type": "object", "title": "BareMetalServerProfileBandwidth" }, "BareMetalServerProfileBandwidthDependent": { "description": "The total bandwidth shared across the bare metal server network attachments or bare metal\nserver network interfaces of a bare metal server with this profile depends on its\nconfiguration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileBandwidthDependent" }, "BareMetalServerProfileBandwidthEnum": { "description": "The permitted total bandwidth values (in megabits per second) shared across the\nbare metal server network attachments or bare metal server network interfaces of a bare\nmetal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 16000, 32000, 48000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileBandwidthEnum" }, "BareMetalServerProfileBandwidthFixed": { "description": "The total bandwidth (in megabits per second) shared across the bare metal server network\nattachments or bare metal server network interfaces of a bare metal server with this\nprofile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 20000, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileBandwidthFixed" }, "BareMetalServerProfileBandwidthRange": { "description": "The permitted total bandwidth range (in megabits per second) shared across the\nnetwork attachments or network interfaces of a bare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 20000, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 100000, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 10000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 10000, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "BareMetalServerProfileBandwidthRange" }, "BareMetalServerProfileCPUArchitecture": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The CPU architecture for a bare metal server with this profile", "enum": [ "amd64", "s390x" ], "example": "amd64", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileCPUArchitecture" }, "BareMetalServerProfileCPUCoreCount": { "example": { "type": "fixed", "value": 80 }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileCPUCoreCountFixed" }, { "$ref": "#/components/schemas/BareMetalServerProfileCPUCoreCountRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileCPUCoreCountEnum" }, { "$ref": "#/components/schemas/BareMetalServerProfileCPUCoreCountDependent" } ], "type": "object", "title": "BareMetalServerProfileCPUCoreCount" }, "BareMetalServerProfileCPUCoreCountDependent": { "description": "The CPU core count for a bare metal server with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileCPUCoreCountDependent" }, "BareMetalServerProfileCPUCoreCountEnum": { "description": "The permitted values for CPU cores for a bare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 40, 60, 80 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileCPUCoreCountEnum" }, "BareMetalServerProfileCPUCoreCountFixed": { "description": "The CPU core count for a bare metal server with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 80, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileCPUCoreCountFixed" }, "BareMetalServerProfileCPUCoreCountRange": { "description": "The permitted range for the number of CPU cores for a bare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 80, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 80, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 40, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 4, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "BareMetalServerProfileCPUCoreCountRange" }, "BareMetalServerProfileCPUSocketCount": { "example": { "type": "fixed", "value": 4 }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileCPUSocketCountFixed" }, { "$ref": "#/components/schemas/BareMetalServerProfileCPUSocketCountRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileCPUSocketCountEnum" }, { "$ref": "#/components/schemas/BareMetalServerProfileCPUSocketCountDependent" } ], "type": "object", "title": "BareMetalServerProfileCPUSocketCount" }, "BareMetalServerProfileCPUSocketCountDependent": { "description": "The CPU socket count for a bare metal server with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileCPUSocketCountDependent" }, "BareMetalServerProfileCPUSocketCountEnum": { "description": "The permitted values for CPU sockets for a bare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1, 2, 3, 4 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileCPUSocketCountEnum" }, "BareMetalServerProfileCPUSocketCountFixed": { "description": "The number of CPU sockets for a bare metal server with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileCPUSocketCountFixed" }, "BareMetalServerProfileCPUSocketCountRange": { "description": "The permitted range for the number of CPU sockets for a bare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 4, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 8, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "BareMetalServerProfileCPUSocketCountRange" }, "BareMetalServerProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2d-metal-192x768?limit=50" }, "limit": 50, "profiles": [ { "bandwidth": { "type": "fixed", "value": 100000 }, "console_types": { "type": "enum", "values": [ "serial", "vnc" ] }, "cpu_architecture": { "type": "fixed", "value": "amd64" }, "cpu_core_count": { "type": "fixed", "value": 96 }, "cpu_socket_count": { "type": "fixed", "value": 4 }, "disks": [ { "quantity": { "type": "fixed", "value": 1 }, "size": { "type": "fixed", "value": 960 }, "supported_interface_types": { "default": "sata", "type": "enum", "values": [ "sata" ] } } ], "family": "balanced", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768", "memory": { "type": "fixed", "value": 768 }, "name": "bx2-metal-192x768", "network_attachment_count": { "max": 128, "min": 1, "type": "range" }, "network_interface_count": { "max": 128, "min": 1, "type": "range" }, "os_architecture": { "default": "amd64", "type": "enum", "values": [ "amd64" ] }, "reservation_terms": { "type": "enum", "values": [ "one_year", "three_year" ] }, "resource_type": "bare_metal_server_profile", "supported_trusted_platform_module_modes": { "type": "enum", "values": [ "disabled", "tpm_2" ] }, "virtual_network_interfaces_supported": { "type": "fixed", "value": true } }, { "bandwidth": { "type": "fixed", "value": 100000 }, "console_types": { "type": "enum", "values": [ "serial", "vnc" ] }, "cpu_architecture": { "type": "fixed", "value": "amd64" }, "cpu_core_count": { "type": "fixed", "value": 96 }, "cpu_socket_count": { "type": "fixed", "value": 4 }, "disks": [ { "quantity": { "type": "fixed", "value": 1 }, "size": { "type": "fixed", "value": 960 }, "supported_interface_types": { "default": "sata", "type": "enum", "values": [ "sata" ] } }, { "quantity": { "type": "fixed", "value": 1 }, "size": { "type": "fixed", "value": 960 }, "supported_interface_types": { "default": "sata", "type": "enum", "values": [ "sata" ] } }, { "quantity": { "type": "fixed", "value": 16 }, "size": { "type": "fixed", "value": 3200 }, "supported_interface_types": { "default": "nvme", "type": "enum", "values": [ "nvme" ] } } ], "family": "balanced", "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2d-metal-192x768", "memory": { "type": "fixed", "value": 768 }, "name": "bx2d-metal-192x768", "network_attachment_count": { "max": 128, "min": 1, "type": "range" }, "network_interface_count": { "max": 128, "min": 1, "type": "range" }, "os_architecture": { "default": "amd64", "type": "enum", "values": [ "amd64" ] }, "reservation_terms": { "type": "enum", "values": [ "one_year", "three_year" ] }, "resource_type": "bare_metal_server_profile", "supported_trusted_platform_module_modes": { "type": "enum", "values": [ "disabled", "tpm_2" ] }, "virtual_network_interfaces_supported": { "type": "fixed", "value": true } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/profiles?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "profiles": { "description": "A page of bare metal server profiles", "items": { "$ref": "#/components/schemas/BareMetalServerProfile" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "profiles", "total_count" ], "type": "object", "title": "BareMetalServerProfileCollection" }, "BareMetalServerProfileConsoleTypes": { "description": "The console type configuration for a bare metal server with this profile.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The console types for a bare metal server with this profile.", "items": { "description": "A console type", "enum": [ "serial", "vnc" ], "example": "serial", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "type", "values" ], "type": "object", "title": "BareMetalServerProfileConsoleTypes" }, "BareMetalServerProfileDisk": { "description": "Disks provided by this profile", "properties": { "quantity": { "$ref": "#/components/schemas/BareMetalServerProfileDiskQuantity" }, "size": { "$ref": "#/components/schemas/BareMetalServerProfileDiskSize" }, "supported_interface_types": { "$ref": "#/components/schemas/BareMetalServerProfileDiskSupportedInterfaces" } }, "required": [ "quantity", "size", "supported_interface_types" ], "type": "object", "title": "BareMetalServerProfileDisk" }, "BareMetalServerProfileDiskQuantity": { "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileDiskQuantityFixed" }, { "$ref": "#/components/schemas/BareMetalServerProfileDiskQuantityRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileDiskQuantityEnum" }, { "$ref": "#/components/schemas/BareMetalServerProfileDiskQuantityDependent" } ], "type": "object", "title": "BareMetalServerProfileDiskQuantity" }, "BareMetalServerProfileDiskQuantityDependent": { "description": "The number of disks of this configuration for a bare metal server with this profile\ndepends on its bare metal server configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileDiskQuantityDependent" }, "BareMetalServerProfileDiskQuantityEnum": { "description": "The permitted the number of disks of this configuration for a bare metal server with\nthis profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1, 2, 4, 8 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileDiskQuantityEnum" }, "BareMetalServerProfileDiskQuantityFixed": { "description": "The number of disks of this configuration for a bare metal server with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileDiskQuantityFixed" }, "BareMetalServerProfileDiskQuantityRange": { "description": "The permitted range for the number of disks of this configuration for a bare metal\nserver with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 1, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 4, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "BareMetalServerProfileDiskQuantityRange" }, "BareMetalServerProfileDiskSize": { "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileDiskSizeFixed" }, { "$ref": "#/components/schemas/BareMetalServerProfileDiskSizeRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileDiskSizeEnum" }, { "$ref": "#/components/schemas/BareMetalServerProfileDiskSizeDependent" } ], "type": "object", "title": "BareMetalServerProfileDiskSize" }, "BareMetalServerProfileDiskSizeDependent": { "description": "The disk size in GB (gigabytes) of this configuration for a bare metal server with\nthis profile depends on its bare metal server configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileDiskSizeDependent" }, "BareMetalServerProfileDiskSizeEnum": { "description": "The permitted disk size in GB (gigabytes) of this configuration for a bare metal\nserver with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1, 2, 4, 8 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileDiskSizeEnum" }, "BareMetalServerProfileDiskSizeFixed": { "description": "The size of the disk in GB (gigabytes)", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 100, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileDiskSizeFixed" }, "BareMetalServerProfileDiskSizeRange": { "description": "The permitted range for the disk size of this configuration in GB (gigabytes) for a\nbare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 100, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 1000, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 100, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 10, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "BareMetalServerProfileDiskSizeRange" }, "BareMetalServerProfileDiskSupportedInterfaces": { "properties": { "default": { "description": "The default value for this profile field", "enum": [ "fcp", "nvme", "sata" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported disk interfaces used for attaching the disk", "items": { "$ref": "#/components/schemas/BareMetalServerDiskInterfaceType" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileDiskSupportedInterfaces" }, "BareMetalServerProfileDisks": { "description": "The disks for a bare metal server with this profile.", "items": { "$ref": "#/components/schemas/BareMetalServerProfileDisk" }, "minItems": 0, "type": "array", "title": "BareMetalServerProfileDisks" }, "BareMetalServerProfileFamily": { "description": "The product family this bare metal server profile belongs to", "example": "balanced", "maxLength": 128, "minLength": 2, "pattern": "^[a-z]+([-_][a-z]+){0,5}$", "type": "string", "title": "BareMetalServerProfileFamily" }, "BareMetalServerProfileIdentity": { "description": "Identifies a bare metal server profile by a unique property.", "example": { "name": "bx2-metal-192x768" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileIdentityByName" }, { "$ref": "#/components/schemas/BareMetalServerProfileIdentityByHref" } ], "type": "object", "title": "BareMetalServerProfileIdentity" }, "BareMetalServerProfileIdentityByHref": { "properties": { "href": { "description": "The URL for this bare metal server profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/profiles/bx2-metal-192x768", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "BareMetalServerProfileIdentityByHref" }, "BareMetalServerProfileIdentityByName": { "properties": { "name": { "description": "The name for this bare metal server profile", "example": "bx2-metal-192x768", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "BareMetalServerProfileIdentityByName" }, "BareMetalServerProfileMemory": { "example": { "type": "fixed", "value": 32 }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileMemoryFixed" }, { "$ref": "#/components/schemas/BareMetalServerProfileMemoryRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileMemoryEnum" }, { "$ref": "#/components/schemas/BareMetalServerProfileMemoryDependent" } ], "type": "object", "title": "BareMetalServerProfileMemory" }, "BareMetalServerProfileMemoryDependent": { "description": "The memory value for a bare metal server with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileMemoryDependent" }, "BareMetalServerProfileMemoryEnum": { "description": "The permitted memory values (in gibibytes) for a bare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 8, 16, 32 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileMemoryEnum" }, "BareMetalServerProfileMemoryFixed": { "description": "The memory (in gibibytes) for a bare metal server with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 16, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileMemoryFixed" }, "BareMetalServerProfileMemoryRange": { "description": "The permitted memory range (in gibibytes) for a bare metal server with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 16, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 384, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 8, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 8, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "BareMetalServerProfileMemoryRange" }, "BareMetalServerProfileNetworkAttachmentCount": { "example": { "max": 128, "min": 1, "type": "range" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileNetworkAttachmentCountRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileNetworkAttachmentCountDependent" } ], "type": "object", "title": "BareMetalServerProfileNetworkAttachmentCount" }, "BareMetalServerProfileNetworkAttachmentCountDependent": { "description": "The number of network attachments supported on a bare metal server with\nthis profile is dependent on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileNetworkAttachmentCountDependent" }, "BareMetalServerProfileNetworkAttachmentCountRange": { "description": "The number of network attachments supported on a bare metal server with\nthis profile", "properties": { "max": { "description": "The maximum value for this profile field", "example": 128, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileNetworkAttachmentCountRange" }, "BareMetalServerProfileNetworkInterfaceCount": { "example": { "max": 128, "min": 1, "type": "range" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileNetworkInterfaceCountRange" }, { "$ref": "#/components/schemas/BareMetalServerProfileNetworkInterfaceCountDependent" } ], "type": "object", "title": "BareMetalServerProfileNetworkInterfaceCount" }, "BareMetalServerProfileNetworkInterfaceCountDependent": { "description": "The number of bare metal server network interfaces supported on a bare metal server with\nthis profile is dependent on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileNetworkInterfaceCountDependent" }, "BareMetalServerProfileNetworkInterfaceCountRange": { "description": "The number of bare metal server network interfaces supported on a bare metal server with\nthis profile", "properties": { "max": { "description": "The maximum value for this profile field", "example": 128, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerProfileNetworkInterfaceCountRange" }, "BareMetalServerProfileOSArchitecture": { "properties": { "default": { "description": "The default OS architecture for a bare metal server with this profile", "example": "amd64", "maxLength": 32, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported OS architecture(s) for a bare metal server with this profile", "items": { "$ref": "#/components/schemas/OperatingSystemArchitecture" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "BareMetalServerProfileOSArchitecture" }, "BareMetalServerProfileReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768", "name": "bx2-metal-192x768", "resource_type": "bare_metal_server_profile" }, "properties": { "href": { "description": "The URL for this bare metal server profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/profiles/bx2-metal-192x768", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The name for this bare metal server profile", "example": "bx2-metal-192x768", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "bare_metal_server_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "name", "resource_type" ], "type": "object", "title": "BareMetalServerProfileReference" }, "BareMetalServerProfileReservationTerms": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported committed use terms for a reservation using this profile.", "example": [ "one_year", "three_year" ], "items": { "enum": [ "one_year", "three_year" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 0, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "BareMetalServerProfileReservationTerms" }, "BareMetalServerProfileSupportedTrustedPlatformModuleModes": { "description": "The supported trusted platform module modes for this bare metal server profile.", "properties": { "default": { "description": "The default trusted platform module for a bare metal server with this profile.", "enum": [ "disabled", "tpm_2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported trusted platform module modes", "items": { "description": "The trusted platform module (TPM) mode:\n- `disabled`: No TPM functionality\n- `tpm_2`: TPM 2.0\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "disabled", "tpm_2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "BareMetalServerProfileSupportedTrustedPlatformModuleModes" }, "BareMetalServerProfileVirtualNetworkInterfacesSupported": { "description": "Indicates whether this profile supports virtual network interfaces", "example": { "type": "fixed", "value": true }, "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "type": "boolean" } }, "required": [ "type", "value" ], "type": "object", "title": "BareMetalServerProfileVirtualNetworkInterfacesSupported" }, "BareMetalServerPrototype": { "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerByNetworkAttachment" }, { "$ref": "#/components/schemas/BareMetalServerByNetworkInterface" } ], "properties": { "bandwidth": { "description": "The total bandwidth (in megabits per second) shared across the bare metal\nserver's network interfaces. The specified value must match one of the\nbandwidth values in the bare metal server's profile. If unspecified, the default\nvalue from the profile will be used.", "example": 20000, "maximum": 1000000, "minimum": 1, "type": "integer" }, "enable_secure_boot": { "default": false, "description": "Indicates whether secure boot is enabled. If enabled, the image must support secure boot\nor the server will fail to boot.", "example": false, "type": "boolean" }, "initialization": { "$ref": "#/components/schemas/BareMetalServerInitializationPrototype" }, "name": { "description": "The name for this bare metal server. The name must not be used by another bare metal\nserver in the region. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.\n\nThe system hostname will be based on this name.", "example": "my-bare-metal-server", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/BareMetalServerProfileIdentity" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile)\nto use for this bare metal server", "example": { "name": "bx2-metal-192x768" } } ] }, "reservation_affinity": { "$ref": "#/components/schemas/BareMetalServerReservationAffinityPrototype" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "trusted_platform_module": { "$ref": "#/components/schemas/BareMetalServerTrustedPlatformModulePrototype" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this bare metal server will reside in.\n\nIf specified, it must match the VPC for the subnets that the network attachments or\nnetwork interfaces of the bare metal server are attached to." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this bare metal server will reside in" } ] } }, "required": [ "initialization", "profile", "zone" ], "type": "object", "title": "BareMetalServerPrototype" }, "BareMetalServerReservationAffinity": { "properties": { "policy": { "description": "The reservation affinity policy to use for this bare metal server:\n- `disabled`: Reservations will not be used\n- `manual`: Reservations in `pool` are available for use\n- `automatic`: Any reservations with an `affinity_policy` of `automatic`\n that have the same `profile` and `zone` as this bare metal server\n are available for use.", "enum": [ "automatic", "disabled", "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "pool": { "description": "The pool of reservations available for use by this bare metal server when\nthe `policy` is `manual`. This must be empty if the `policy` is `automatic` or\n`disabled`.", "items": { "$ref": "#/components/schemas/ReservationReference" }, "minItems": 0, "type": "array", "uniqueItems": true } }, "required": [ "policy", "pool" ], "type": "object", "title": "BareMetalServerReservationAffinity" }, "BareMetalServerReservationAffinityPatch": { "properties": { "policy": { "description": "The reservation affinity policy to use for this bare metal server:\n- `disabled`: Reservations will not be used\n- `manual`: Reservations in `pool` will be available for use\n- `automatic`: Any reservations with an `affinity_policy` of `automatic` that have the\n same `profile` and `zone` as this bare metal server are available for use.", "enum": [ "automatic", "disabled", "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "pool": { "description": "The pool of reservations available for use by this bare metal server, replacing\nthe existing pool of reservations.\n\nSpecified reservations must have a `status` of `active`, and have the same\n`profile` and `zone` as this bare metal server.\n\nIf `policy` is `manual`, `pool` must have one reservation.\nIf `policy` is `disabled` or `automatic`, `pool` must be empty.\nIf `policy` is `manual`, the `pool` must contain a reservation with available capacity.", "items": { "$ref": "#/components/schemas/ReservationIdentity" }, "maxItems": 1, "minItems": 0, "type": "array", "uniqueItems": true } }, "type": "object", "title": "BareMetalServerReservationAffinityPatch" }, "BareMetalServerReservationAffinityPrototype": { "properties": { "policy": { "description": "The reservation affinity policy to use for this bare metal server:\n- `disabled`: Reservations will not be used\n- `manual`: Reservations in `pool` will be available for use\n- `automatic`: Any reservations with an `affinity_policy` of `automatic` that have the\n same `profile` and `zone` as this bare metal server are available for use.\n\nThe policy will default to `manual` if `pool` is not empty. Otherwise the\npolicy will default to `automatic`.", "enum": [ "automatic", "disabled", "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "pool": { "default": [], "description": "The pool of reservations available for use by this bare metal server.\n\nSpecified reservations must have a `status` of `active`, and have the same `profile`\nand `zone` as this bare metal server.\n\nIf `policy` is `manual`, `pool` must have one reservation.\nIf `policy` is `disabled` or `automatic`, `pool` must be empty.\nIf `policy` is `manual`, the `pool` must contain a reservation with available capacity.", "items": { "$ref": "#/components/schemas/ReservationIdentity" }, "maxItems": 1, "minItems": 0, "type": "array", "uniqueItems": true } }, "type": "object", "title": "BareMetalServerReservationAffinityPrototype" }, "BareMetalServerStatusReason": { "properties": { "code": { "description": "The status reason code:\n- `cannot_reinitialize`: An error occurred while reinitializing bare metal server\n- `cannot_start`: Failed to start due to an internal error\n- `cannot_start_capacity`: Insufficient capacity within the selected zone\n- `cannot_start_compute`: An error occurred while allocating compute resources\n- `cannot_start_ip_address`: An error occurred while allocating an IP address\n- `cannot_start_network`: An error occurred while allocating network resources\n- `cannot_update_firmware`: An error occurred while updating bare metal server firmware\n- `cannot_start_reservation_capacity`: Failed to start because the reservation has\n insufficient capacity\n- `cannot_start_reservation_expired`: Failed to start because the reservation has\n expired\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_reinitialize", "cannot_start", "cannot_start_capacity", "cannot_start_compute", "cannot_start_ip_address", "cannot_start_network", "cannot_start_reservation_capacity", "cannot_start_reservation_expired", "cannot_update_firmware" ], "example": "cannot_start_capacity", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "example": "The bare metal server cannot start as there is no more capacity in this\nzone for a bare metal server with the requested profile.", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://console.bluemix.net/docs/iaas/bare_metal_server.html", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "BareMetalServerStatusReason" }, "BareMetalServerStopOptions": { "properties": { "type": { "description": "The type of stop operation:\n- `soft`: signal running operating system to quiesce and shutdown cleanly\n- `hard`: immediately stop the server", "enum": [ "hard", "soft" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "BareMetalServerStopOptions" }, "BareMetalServerTrustedPlatformModule": { "properties": { "enabled": { "description": "Indicates whether the trusted platform module is enabled.", "example": true, "type": "boolean" }, "mode": { "description": "The trusted platform module (TPM) mode:\n- `disabled`: No TPM functionality\n- `tpm_2`: TPM 2.0\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "disabled", "tpm_2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "supported_modes": { "description": "The supported trusted platform module modes", "items": { "description": "The trusted platform module (TPM) mode:\n- `disabled`: No TPM functionality\n- `tpm_2`: TPM 2.0\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "disabled", "tpm_2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "enabled", "mode", "supported_modes" ], "type": "object", "title": "BareMetalServerTrustedPlatformModule" }, "BareMetalServerTrustedPlatformModulePatch": { "properties": { "mode": { "description": "The trusted platform module mode to use. The specified value must be listed in the bare\nmetal server's `supported_modes`.\n\nFor the trusted platform module mode to be changed, the bare metal server `status`\nmust be `stopped`.", "enum": [ "disabled", "tpm_2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "BareMetalServerTrustedPlatformModulePatch" }, "BareMetalServerTrustedPlatformModulePrototype": { "properties": { "mode": { "description": "The trusted platform module mode to use. The specified value must be listed in the bare\nmetal server profile's `supported_trusted_platform_module_modes`.\n\nIf unspecified, the default trusted platform module mode from the profile will be used.", "enum": [ "disabled", "tpm_2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "BareMetalServerTrustedPlatformModulePrototype" }, "CIDR": { "properties": { "cidr_block": { "allOf": [ { "$ref": "#/components/schemas/CIDRv4" } ], "description": "The CIDR block.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 address blocks in the future." } }, "required": [ "cidr_block" ], "type": "object", "title": "CIDR" }, "CIDRv4": { "example": "192.168.3.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string", "title": "CIDRv4" }, "CatalogOfferingByCRN": { "properties": { "crn": { "description": "The CRN for this\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering", "example": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc:offering:00111601-0ec5-41ac-b142-96d1e64e6442", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "CatalogOfferingByCRN" }, "CatalogOfferingByOffering": { "properties": { "offering": { "$ref": "#/components/schemas/CatalogOfferingIdentity" } }, "required": [ "offering" ], "type": "object", "title": "CatalogOfferingByOffering" }, "CatalogOfferingByVersion": { "properties": { "version": { "$ref": "#/components/schemas/CatalogOfferingVersionIdentity" } }, "required": [ "version" ], "type": "object", "title": "CatalogOfferingByVersion" }, "CatalogOfferingIdentity": { "description": "Identifies a [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering by a unique property", "example": { "crn": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc:offering:00111601-0ec5-41ac-b142-96d1e64e6442" }, "oneOf": [ { "$ref": "#/components/schemas/CatalogOfferingByCRN" } ], "type": "object", "title": "CatalogOfferingIdentity" }, "CatalogOfferingVersionByCRN": { "properties": { "crn": { "description": "The CRN for this version of a\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering", "example": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc:version:00111601-0ec5-41ac-b142-96d1e64e6442/ec66bec2-6a33-42d6-9323-26dd4dc8875d", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "CatalogOfferingVersionByCRN" }, "CatalogOfferingVersionIdentity": { "description": "Identifies a version of a\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering by a\nunique property", "example": { "crn": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc:version:00111601-0ec5-41ac-b142-96d1e64e6442/ec66bec2-6a33-42d6-9323-26dd4dc8875d" }, "oneOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionByCRN" } ], "type": "object", "title": "CatalogOfferingVersionIdentity" }, "CatalogOfferingVersionPlanByCRN": { "properties": { "crn": { "description": "The CRN for this\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering version's billing plan", "example": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:51c9e0db-2911-45a6-adb0-ac5332d27cf2:plan:sw.51c9e0db-2911-45a6-adb0-ac5332d27cf2.772c0dbe-aa62-482e-adbe-a3fc20101e0e", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "CatalogOfferingVersionPlanByCRN" }, "CatalogOfferingVersionPlanIdentity": { "description": "Identifies a catalog offering version's billing plan by a unique property", "example": { "crn": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:51c9e0db-2911-45a6-adb0-ac5332d27cf2:plan:sw.51c9e0db-2911-45a6-adb0-ac5332d27cf2.772c0dbe-aa62-482e-adbe-a3fc20101e0e" }, "oneOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionPlanByCRN" } ], "type": "object", "title": "CatalogOfferingVersionPlanIdentity" }, "CatalogOfferingVersionPlanReference": { "properties": { "crn": { "description": "The CRN for this\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering version's billing plan", "example": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:51c9e0db-2911-45a6-adb0-ac5332d27cf2:plan:sw.51c9e0db-2911-45a6-adb0-ac5332d27cf2.772c0dbe-aa62-482e-adbe-a3fc20101e0e", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" } }, "required": [ "crn" ], "type": "object", "title": "CatalogOfferingVersionPlanReference" }, "CatalogOfferingVersionReference": { "properties": { "crn": { "description": "The CRN for this version of a\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering", "example": "crn:v1:bluemix:public:globalcatalog-collection:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc:version:00111601-0ec5-41ac-b142-96d1e64e6442/ec66bec2-6a33-42d6-9323-26dd4dc8875d", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "CatalogOfferingVersionReference" }, "CertificateInstanceIdentity": { "description": "Identifies a certificate instance by a unique property.", "example": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "oneOf": [ { "$ref": "#/components/schemas/CertificateInstanceIdentityByCRN" } ], "type": "object", "title": "CertificateInstanceIdentity" }, "CertificateInstanceIdentityByCRN": { "example": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "properties": { "crn": { "description": "The CRN for this certificate instance", "example": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "CertificateInstanceIdentityByCRN" }, "CertificateInstanceReference": { "example": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "properties": { "crn": { "description": "The CRN for this certificate instance", "example": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "CertificateInstanceReference" }, "CloudObjectStorageBucketIdentity": { "description": "Identifies a Cloud Object Storage bucket by a unique property.", "example": { "name": "bucket-27200-lwx4cfvcue" }, "oneOf": [ { "$ref": "#/components/schemas/CloudObjectStorageBucketIdentityByName" }, { "$ref": "#/components/schemas/CloudObjectStorageBucketIdentityByCRN" } ], "type": "object", "title": "CloudObjectStorageBucketIdentity" }, "CloudObjectStorageBucketIdentityByCRN": { "properties": { "crn": { "description": "The CRN of this Cloud Object Storage bucket", "example": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "CloudObjectStorageBucketIdentityByCRN" }, "CloudObjectStorageBucketIdentityByName": { "properties": { "name": { "description": "The globally unique name of this Cloud Object Storage bucket", "example": "bucket-27200-lwx4cfvcue", "maxLength": 63, "minLength": 3, "pattern": "^[a-z0-9]{1}[-a-z0-9]{1,61}[a-z0-9]{1}$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "CloudObjectStorageBucketIdentityByName" }, "CloudObjectStorageBucketReference": { "example": { "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue", "name": "bucket-27200-lwx4cfvcue" }, "properties": { "crn": { "description": "The CRN of this Cloud Object Storage bucket", "example": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "name": { "description": "The globally unique name of this Cloud Object Storage bucket", "example": "bucket-27200-lwx4cfvcue", "maxLength": 63, "minLength": 3, "pattern": "^[a-z0-9]{1}[-a-z0-9]{1,61}[a-z0-9]{1}$", "type": "string" } }, "required": [ "crn", "name" ], "type": "object", "title": "CloudObjectStorageBucketReference" }, "CloudObjectStorageObjectReference": { "properties": { "name": { "description": "The name of this Cloud Object Storage object. Names are unique within a\nCloud Object Storage bucket.", "example": "my-object", "maxLength": 1024, "minLength": 1, "pattern": "^[a-zA-Z0-9/!\\-_.*'\\(\\)]*$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "CloudObjectStorageObjectReference" }, "ClusterNetwork": { "example": { "created_at": "2024-10-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573", "id": "0717-da0df18c-7598-4633-a648-fdaac28a5573", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-cluster-network", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "name": "h100", "resource_type": "cluster_network_profile" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "cluster_network", "subnet_prefixes": [ { "allocation_policy": "auto", "cidr": "10.0.0.0/9" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "created_at": { "$ref": "#/components/schemas/ClusterNetworkCreatedAt" }, "crn": { "description": "The CRN for this cluster network", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this cluster network", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network", "example": "0717-da0df18c-7598-4633-a648-fdaac28a5573", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/ClusterNetworkLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the cluster network" } ] }, "name": { "description": "The name for this cluster network. The name must not be used by another cluster network\nin the region.", "example": "my-cluster-network", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkProfileReference" }, { "description": "The profile for this cluster network" } ] }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this cluster network" } ] }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet_prefixes": { "description": "The IP address ranges available for subnets for this cluster network.", "items": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrefix" }, "maxItems": 1, "minItems": 1, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this cluster network resides in" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this cluster network resides in" } ] } }, "required": [ "created_at", "crn", "href", "id", "lifecycle_reasons", "lifecycle_state", "name", "profile", "resource_group", "resource_type", "subnet_prefixes", "vpc", "zone" ], "type": "object", "title": "ClusterNetwork" }, "ClusterNetworkCollection": { "example": { "cluster_networks": [ { "created_at": "2024-10-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573", "id": "0717-da0df18c-7598-4633-a648-fdaac28a5573", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-cluster-network", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "name": "h100", "resource_type": "cluster_network_profile" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "cluster_network", "subnet_prefixes": [ { "allocation_policy": "auto", "cidr": "10.0.0.0/9" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "cluster_networks": { "description": "A page of cluster networks", "items": { "$ref": "#/components/schemas/ClusterNetwork" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "cluster_networks", "first", "limit", "total_count" ], "type": "object", "title": "ClusterNetworkCollection" }, "ClusterNetworkCreatedAt": { "description": "The date and time that the cluster network was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string", "title": "ClusterNetworkCreatedAt" }, "ClusterNetworkInterface": { "description": "The associated cluster network subnet", "example": { "allow_ip_spoofing": true, "auto_delete": false, "created_at": "2024-10-25T03:42:32.993Z", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-cluster-network-interface", "primary_ip": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "resource_type": "cluster_network_interface", "subnet": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "allow_ip_spoofing": { "description": "Indicates whether source IP spoofing is allowed on this cluster network interface.\nIf `false`, source IP spoofing is prevented on this cluster network interface.\nIf `true`, source IP spoofing is allowed on this cluster network interface.", "example": true, "type": "boolean" }, "auto_delete": { "description": "Indicates whether this cluster network interface will be automatically deleted\nwhen `target` is deleted", "example": false, "type": "boolean" }, "created_at": { "description": "The date and time that the cluster network interface was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "enable_infrastructure_nat": { "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the virtual network interface,\n allowing the workload to perform any needed NAT operations.", "example": false, "type": "boolean" }, "href": { "description": "The URL for this cluster network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network interface", "example": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/ClusterNetworkInterfaceLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the cluster network interface" } ] }, "mac_address": { "description": "The MAC address of the cluster network interface. May be absent if\n`lifecycle_state` is `pending`.", "example": "02:00:4D:45:45:4D", "maxLength": 17, "minLength": 17, "pattern": "^([0-9A-F]{2}:){5}[0-9A-F]{2}$", "type": "string" }, "name": { "description": "The name for this cluster network interface. The name is unique across all\ninterfaces in the cluster network.", "example": "my-cluster-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPReference" } ], "description": "The cluster network subnet reserved IP for this cluster network interface." }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "$ref": "#/components/schemas/ClusterNetworkSubnetReference" }, "target": { "$ref": "#/components/schemas/ClusterNetworkInterfaceTarget" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this cluster network interface resides in." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this cluster network interface resides in." } ] } }, "required": [ "allow_ip_spoofing", "auto_delete", "created_at", "enable_infrastructure_nat", "href", "id", "lifecycle_reasons", "lifecycle_state", "name", "primary_ip", "resource_type", "vpc", "zone" ], "type": "object", "title": "ClusterNetworkInterface" }, "ClusterNetworkInterfaceCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces?limit=20" }, "interfaces": [ { "allow_ip_spoofing": true, "auto_delete": false, "created_at": "2024-10-25T03:42:32.993Z", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-cluster-network-interface", "primary_ip": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "resource_type": "cluster_network_interface", "subnet": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "limit": 50, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces?limit=50" } }, "interfaces": { "description": "A page of cluster network interfaces", "items": { "$ref": "#/components/schemas/ClusterNetworkInterface" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces?start=d3e721fd-c988-4670-9927-dbd5e7b07fc6&limit=50" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "interfaces", "limit", "total_count" ], "type": "object", "title": "ClusterNetworkInterfaceCollection" }, "ClusterNetworkInterfaceIdentity": { "description": "Identifies a cluster network interface by a unique property.", "example": { "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb" }, "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkInterfaceIdentityById" }, { "$ref": "#/components/schemas/ClusterNetworkInterfaceIdentityByHref" } ], "type": "object", "title": "ClusterNetworkInterfaceIdentity" }, "ClusterNetworkInterfaceIdentityByHref": { "properties": { "href": { "description": "The URL for this cluster network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ClusterNetworkInterfaceIdentityByHref" }, "ClusterNetworkInterfaceIdentityById": { "properties": { "id": { "description": "The unique identifier for this cluster network interface", "example": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "ClusterNetworkInterfaceIdentityById" }, "ClusterNetworkInterfaceLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ClusterNetworkInterfaceLifecycleReason" }, "ClusterNetworkInterfacePatch": { "properties": { "auto_delete": { "description": "Indicates whether this cluster network interface will be automatically\ndeleted when `target` is deleted. Must be `false` if the cluster network\ninterface is unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this cluster network interface. The name must not be used by\nanother interface in the cluster network. Names beginning with `ibm-`\nare reserved for provider-owned resources, and are not allowed.", "example": "my-cluster-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkInterfacePatch" }, "ClusterNetworkInterfacePrimaryIPPrototype": { "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext" }, { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext" } ], "type": "object", "title": "ClusterNetworkInterfacePrimaryIPPrototype" }, "ClusterNetworkInterfacePrototype": { "description": "This prototype object declares the properties to create a cluster network interface.\nThe `auto_delete` property is always false since today, cluster network interfaces\ncreated with targets must be created through the target APIs.", "properties": { "name": { "description": "The name for this cluster network interface. The name must not be used by\nanother interface in the cluster network. Names beginning with `ibm-` are\nreserved for provider-owned resources, and are not allowed. If unspecified, the name\nwill be a hyphenated list of randomly-selected words.", "example": "my-cluster-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkInterfacePrimaryIPPrototype" } ], "description": "The primary IP address to bind to the cluster network interface. May be either\na cluster network subnet reserved IP identity, or a cluster network subnet reserved IP\nprototype object which will be used to create a new cluster network subnet reserved IP.\n\nIf a cluster network subnet reserved IP identity is provided, the specified cluster\nnetwork subnet reserved IP must be unbound.\n\nIf a cluster network subnet reserved IP prototype object with an address is provided,\nthe address must be available on the cluster network interface's cluster network\nsubnet. If no address is specified, an available address on the cluster network subnet\nwill be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "subnet": { "$ref": "#/components/schemas/ClusterNetworkInterfaceSubnetPrototype" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkInterfacePrototype" }, "ClusterNetworkInterfaceReference": { "description": "The associated cluster network subnet", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "name": "my-cluster-network-interface", "primary_ip": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "resource_type": "cluster_network_interface", "subnet": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" } }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this cluster network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network interface", "example": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this cluster network interface. The name is unique across all\ninterfaces in the cluster network.", "example": "my-cluster-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPReference" }, { "description": "The primary IP for this cluster network interface" } ] }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "$ref": "#/components/schemas/ClusterNetworkSubnetReference" } }, "required": [ "href", "id", "name", "primary_ip", "resource_type", "subnet" ], "type": "object", "title": "ClusterNetworkInterfaceReference" }, "ClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext": { "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this cluster network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network interface", "example": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this cluster network interface. The name is unique across all\ninterfaces in the cluster network.", "example": "my-cluster-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "ClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext" }, "ClusterNetworkInterfaceSubnetPrototype": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetIdentity" }, { "description": "The associated cluster network subnet. Required if `primary_ip` does not specify a cluster\nnetwork subnet reserved IP identity." } ], "title": "ClusterNetworkInterfaceSubnetPrototype" }, "ClusterNetworkInterfaceTarget": { "description": "The target of this cluster network interface.\n\nIf absent, this cluster network interface is not attached to a target.\n\nThe resources supported by this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "oneOf": [ { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext" } ], "type": "object", "title": "ClusterNetworkInterfaceTarget" }, "ClusterNetworkLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ClusterNetworkLifecycleReason" }, "ClusterNetworkPatch": { "properties": { "name": { "description": "The name for this cluster network. The name must not be used by another\ncluster network in the region. Names starting with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-cluster-network", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkPatch" }, "ClusterNetworkProfile": { "example": { "family": "vela", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "name": "h100", "resource_type": "cluster_network_profile", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/tx3-160x1536-8h100", "name": "tx3-160x1536-8h100", "resource_type": "instance_profile" } ], "zones": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } ] }, "properties": { "family": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkProfileFamily" }, { "description": "The product family this cluster network profile belongs to.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future." } ] }, "href": { "description": "The URL for this cluster network profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this cluster network profile", "example": "h100", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "supported_instance_profiles": { "$ref": "#/components/schemas/ClusterNetworkProfileSupportedInstanceProfiles" }, "zones": { "$ref": "#/components/schemas/ClusterNetworkProfileZones" } }, "required": [ "family", "href", "name", "resource_type", "supported_instance_profiles", "zones" ], "type": "object", "title": "ClusterNetworkProfile" }, "ClusterNetworkProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles?limit=50" }, "limit": 50, "profiles": [ { "family": "vela", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "name": "h100", "resource_type": "cluster_network_profile", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/tx3-160x1536-8h100", "name": "tx3-160x1536-8h100", "resource_type": "instance_profile" } ], "zones": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } ] } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles?limit=50" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles?start=h100&limit=50" } }, "profiles": { "description": "A page of cluster network profiles", "items": { "$ref": "#/components/schemas/ClusterNetworkProfile" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "profiles", "total_count" ], "type": "object", "title": "ClusterNetworkProfileCollection" }, "ClusterNetworkProfileFamily": { "enum": [ "vela" ], "example": "vela", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ClusterNetworkProfileFamily" }, "ClusterNetworkProfileIdentity": { "description": "Identifies an cluster network profile by a unique property.", "example": { "name": "h100" }, "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkProfileIdentityByName" }, { "$ref": "#/components/schemas/ClusterNetworkProfileIdentityByHref" } ], "type": "object", "title": "ClusterNetworkProfileIdentity" }, "ClusterNetworkProfileIdentityByHref": { "properties": { "href": { "description": "The URL for this cluster network profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ClusterNetworkProfileIdentityByHref" }, "ClusterNetworkProfileIdentityByName": { "properties": { "name": { "description": "The globally unique name for this cluster network profile", "example": "h100", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "ClusterNetworkProfileIdentityByName" }, "ClusterNetworkProfileReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "name": "h100", "resource_type": "cluster_network_profile" }, "properties": { "href": { "description": "The URL for this cluster network profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this cluster network profile", "example": "h100", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "name", "resource_type" ], "type": "object", "title": "ClusterNetworkProfileReference" }, "ClusterNetworkProfileSupportedInstanceProfiles": { "description": "The instance profiles that support this cluster network profile.", "example": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/tx3-160x1536-8h100", "name": "tx3-160x1536-8h100", "resource_type": "instance_profile" } ], "items": { "$ref": "#/components/schemas/InstanceProfileReference" }, "maxItems": 100, "minItems": 1, "type": "array", "title": "ClusterNetworkProfileSupportedInstanceProfiles" }, "ClusterNetworkProfileZones": { "description": "Zones in this region that support this cluster network profile.", "items": { "$ref": "#/components/schemas/ZoneReference" }, "maxItems": 10, "minItems": 1, "type": "array", "title": "ClusterNetworkProfileZones" }, "ClusterNetworkPrototype": { "properties": { "name": { "description": "The name for this cluster network. The name must not be used by another cluster network\nin the region. Names starting with `ibm-` are reserved for provider-owned resources,\nand are not allowed. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-cluster-network", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkProfileIdentity" }, { "description": "The profile to use for this cluster network" } ] }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "subnet_prefixes": { "default": [ { "cidr": "10.0.0.0/9" } ], "items": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrefixPrototype" }, "maxItems": 1, "minItems": 1, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this cluster network will reside in" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this cluster network will reside in. The zone must be listed\nas supported on the specified cluster network profile." } ] } }, "required": [ "profile", "vpc", "zone" ], "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkPrototype" }, "ClusterNetworkReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573", "id": "0717-da0df18c-7598-4633-a648-fdaac28a5573", "name": "my-cluster-network", "resource_type": "cluster_network" }, "properties": { "crn": { "description": "The CRN for this cluster network", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this cluster network", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network", "example": "0717-da0df18c-7598-4633-a648-fdaac28a5573", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this cluster network. The name must not be used by another cluster network\nin the region.", "example": "my-cluster-network", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "ClusterNetworkReference" }, "ClusterNetworkSubnet": { "example": { "available_ipv4_address_count": 251, "created_at": "2024-10-25T11:59:46Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "lifecycle_reasons": [], "lifecycle_state": "pending", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet", "total_ipv4_address_count": 256 }, "properties": { "available_ipv4_address_count": { "$ref": "#/components/schemas/ClusterNetworkSubnetAvailableIPv4AddressCount" }, "created_at": { "$ref": "#/components/schemas/ClusterNetworkSubnetCreatedAt" }, "href": { "description": "The URL for this cluster network subnet", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/cluster_networks/[-0-9a-z_]+/subnets/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network subnet", "example": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ip_version": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetIPVersion" }, { "description": "The IP version for this cluster network subnet.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future." } ] }, "ipv4_cidr_block": { "$ref": "#/components/schemas/ClusterNetworkSubnetIPv4CIDRBlock" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/ClusterNetworkSubnetLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "$ref": "#/components/schemas/ClusterNetworkSubnetLifecycleState" }, "name": { "description": "The name for this cluster network subnet. The name is unique across all cluster\nnetwork subnets in the cluster network.", "example": "my-cluster-network-subnet", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "$ref": "#/components/schemas/ClusterNetworkSubnetResourceType" }, "total_ipv4_address_count": { "$ref": "#/components/schemas/ClusterNetworkSubnetTotalIPv4AddressCount" } }, "required": [ "available_ipv4_address_count", "created_at", "href", "id", "ip_version", "ipv4_cidr_block", "lifecycle_reasons", "lifecycle_state", "name", "resource_type", "total_ipv4_address_count" ], "type": "object", "title": "ClusterNetworkSubnet" }, "ClusterNetworkSubnetAvailableIPv4AddressCount": { "description": "The number of IPv4 addresses in this cluster network subnet that are not in use, and have\nnot been reserved by the user or the provider.", "example": 15, "format": "int64", "type": "integer", "title": "ClusterNetworkSubnetAvailableIPv4AddressCount" }, "ClusterNetworkSubnetByIPv4CIDRBlockPrototype": { "properties": { "ipv4_cidr_block": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrototypeIPv4CIDRBlock" } }, "required": [ "ipv4_cidr_block" ], "type": "object", "title": "ClusterNetworkSubnetByIPv4CIDRBlockPrototype" }, "ClusterNetworkSubnetByTotalCountPrototype": { "properties": { "total_ipv4_address_count": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrototypeTotalCount" } }, "required": [ "total_ipv4_address_count" ], "type": "object", "title": "ClusterNetworkSubnetByTotalCountPrototype" }, "ClusterNetworkSubnetCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets?limit=50" }, "limit": 50, "subnets": [ { "available_ipv4_address_count": 251, "created_at": "2024-10-25T11:59:46Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "lifecycle_reasons": [], "lifecycle_state": "pending", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet", "total_ipv4_address_count": 256 } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets?limit=50" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=50" } }, "subnets": { "description": "A page of subnets for the cluster network", "items": { "$ref": "#/components/schemas/ClusterNetworkSubnet" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "subnets", "total_count" ], "type": "object", "title": "ClusterNetworkSubnetCollection" }, "ClusterNetworkSubnetCreatedAt": { "description": "The date and time that the cluster network subnet was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string", "title": "ClusterNetworkSubnetCreatedAt" }, "ClusterNetworkSubnetIPVersion": { "enum": [ "ipv4" ], "example": "ipv4", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ClusterNetworkSubnetIPVersion" }, "ClusterNetworkSubnetIPv4CIDRBlock": { "description": "The IPv4 range of this cluster network subnet, expressed in CIDR format", "example": "10.0.0.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string", "title": "ClusterNetworkSubnetIPv4CIDRBlock" }, "ClusterNetworkSubnetIdentity": { "description": "Identifies a cluster network subnet by a unique property.", "example": { "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930" }, "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetIdentityById" }, { "$ref": "#/components/schemas/ClusterNetworkSubnetIdentityByHref" } ], "type": "object", "title": "ClusterNetworkSubnetIdentity" }, "ClusterNetworkSubnetIdentityByHref": { "properties": { "href": { "description": "The URL for this cluster network subnet", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/cluster_networks/[-0-9a-z_]+/subnets/[-0-9a-z_]+$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ClusterNetworkSubnetIdentityByHref" }, "ClusterNetworkSubnetIdentityById": { "properties": { "id": { "description": "The unique identifier for this cluster network subnet", "example": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "ClusterNetworkSubnetIdentityById" }, "ClusterNetworkSubnetLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ClusterNetworkSubnetLifecycleReason" }, "ClusterNetworkSubnetLifecycleState": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the cluster network subnet" } ], "title": "ClusterNetworkSubnetLifecycleState" }, "ClusterNetworkSubnetPatch": { "properties": { "name": { "description": "The name for this cluster network subnet. The name must not be used by another\ncluster network subnet in the cluster network. Names starting with `ibm-` are reserved\nfor provider-owned resources, and are not allowed.", "example": "my-cluster-network-subnet", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkSubnetPatch" }, "ClusterNetworkSubnetPrefix": { "description": "A range of addresses available for subnets for this cluster network.", "properties": { "allocation_policy": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrefixAllocationPolicy" }, "cidr": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrefixCIDR" } }, "required": [ "allocation_policy", "cidr" ], "type": "object", "title": "ClusterNetworkSubnetPrefix" }, "ClusterNetworkSubnetPrefixAllocationPolicy": { "description": "The allocation policy for this subnet prefix:\n- `auto`: Subnets created by total count in this cluster network can use this prefix", "enum": [ "auto" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ClusterNetworkSubnetPrefixAllocationPolicy" }, "ClusterNetworkSubnetPrefixCIDR": { "description": "The CIDR block for this prefix", "example": "10.0.0.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string", "title": "ClusterNetworkSubnetPrefixCIDR" }, "ClusterNetworkSubnetPrefixCIDRPrototype": { "description": "The IPv4 range of the cluster network's subnet prefix, expressed in CIDR format.\n\nThe CIDR prefix length must be less than `/29` (at least 8 addresses).\n\nIf a range is specified that overlaps with address prefixes in the cluster network's VPC,\nthe operating systems of any virtual server instances attaching to this cluster network\nmust be [configured to avoid\nconflicts](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-cluster-network#advanced-consideration).", "example": "10.0.0.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string", "title": "ClusterNetworkSubnetPrefixCIDRPrototype" }, "ClusterNetworkSubnetPrefixPrototype": { "properties": { "cidr": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrefixCIDRPrototype" } }, "type": "object", "title": "ClusterNetworkSubnetPrefixPrototype" }, "ClusterNetworkSubnetPrototype": { "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetByTotalCountPrototype" }, { "$ref": "#/components/schemas/ClusterNetworkSubnetByIPv4CIDRBlockPrototype" } ], "properties": { "ip_version": { "$ref": "#/components/schemas/ClusterNetworkSubnetPrototypeIPVersion" }, "name": { "description": "The name for this cluster network subnet. The name must not be used by another cluster\nnetwork subnet in the cluster network. Names starting with `ibm-` are reserved for\nprovider-owned resources, and are not allowed. If unspecified, the name will be a\nhyphenated list of randomly-selected words.", "example": "my-cluster-network-subnet", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkSubnetPrototype" }, "ClusterNetworkSubnetPrototypeIPVersion": { "default": "ipv4", "description": "The IP version(s) to support for this cluster network subnet.", "enum": [ "ipv4" ], "example": "ipv4", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ClusterNetworkSubnetPrototypeIPVersion" }, "ClusterNetworkSubnetPrototypeIPv4CIDRBlock": { "description": "The IPv4 range of the cluster network subnet, expressed in CIDR format. The prefix length\nof the cluster network subnet's CIDR must be between `/8` (16,777,216 addresses) and `/29`\n(8 addresses). The IPv4 range of the cluster network subnet's CIDR must be within the\ncluster network's `subnet_prefixes`.\n\nThe range must not overlap with any of the following reserved address ranges:\n\n - `127.0.0.0/8` (IPv4 loopback addresses)\n - `169.254.0.0/16` (IPv4 link-local addresses)\n - `224.0.0.0/4` (IPv4 multicast addresses)", "example": "10.0.0.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string", "title": "ClusterNetworkSubnetPrototypeIPv4CIDRBlock" }, "ClusterNetworkSubnetPrototypeTotalCount": { "description": "The total number of IPv4 addresses required. Must be a power of 2.\n\nA CIDR will be allocated from a subnet prefix in the cluster network that has an\n`allocation_policy` of `auto`. There must be a subnet prefix\nthat has a free CIDR range with at least this number of addresses.", "example": 256, "format": "int64", "maximum": 16777216, "minimum": 8, "type": "integer", "title": "ClusterNetworkSubnetPrototypeTotalCount" }, "ClusterNetworkSubnetReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this cluster network subnet", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/cluster_networks/[-0-9a-z_]+/subnets/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network subnet", "example": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this cluster network subnet. The name is unique across all cluster\nnetwork subnets in the cluster network.", "example": "my-cluster-network-subnet", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "$ref": "#/components/schemas/ClusterNetworkSubnetResourceType" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "ClusterNetworkSubnetReference" }, "ClusterNetworkSubnetReservedIP": { "example": { "address": "10.1.0.6", "auto_delete": false, "created_at": "2020-07-24T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-cluster-network-subnet-reserved-ip", "owner": "user", "resource_type": "cluster_network_subnet_reserved_ip" }, "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/IPv4" } ], "description": "The IP address.\n\nIf the address is pending allocation, the value will be `0.0.0.0`.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future.", "example": "10.1.0.6" }, "auto_delete": { "description": "Indicates whether this cluster network subnet reserved IP member will be automatically\ndeleted when either `target` is deleted, or the cluster network subnet reserved IP is\nunbound.", "example": false, "type": "boolean" }, "created_at": { "description": "The date and time that the cluster network subnet reserved IP was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this cluster network subnet reserved IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network subnet reserved IP", "example": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPLifecycleState" }, "name": { "description": "The name for this cluster network subnet reserved IP. The name is unique across all\nreserved IPs in a cluster network subnet.", "example": "my-cluster-network-subnet-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "owner": { "description": "The owner of the cluster network subnet reserved IP\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "provider", "user" ], "example": "user", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network_subnet_reserved_ip" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "target": { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPTarget" } }, "required": [ "address", "auto_delete", "created_at", "href", "id", "lifecycle_reasons", "lifecycle_state", "name", "owner", "resource_type" ], "type": "object", "x-child-schema-suffix": "ById", "title": "ClusterNetworkSubnetReservedIP" }, "ClusterNetworkSubnetReservedIPCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips?limit=50" }, "limit": 50, "reserved_ips": [ { "address": "10.1.0.6", "auto_delete": false, "created_at": "2020-07-24T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-cluster-network-subnet-reserved-ip", "owner": "user", "resource_type": "cluster_network_subnet_reserved_ip" } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips?start=63341ffa-1037-4b50-be40-676e3e9ac0c7&limit=20" } }, "reserved_ips": { "description": "A page of reserved IPs for the cluster network subnet", "items": { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIP" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "reserved_ips", "total_count" ], "type": "object", "title": "ClusterNetworkSubnetReservedIPCollection" }, "ClusterNetworkSubnetReservedIPIdentity": { "description": "Identifies a cluster network subnet reserved IP by a unique property.", "example": { "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117" }, "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPIdentityById" }, { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPIdentityByHref" } ], "type": "object", "title": "ClusterNetworkSubnetReservedIPIdentity" }, "ClusterNetworkSubnetReservedIPIdentityByHref": { "properties": { "href": { "description": "The URL for this cluster network subnet reserved IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "x-child-schema-suffix": "ByHref", "title": "ClusterNetworkSubnetReservedIPIdentityByHref" }, "ClusterNetworkSubnetReservedIPIdentityById": { "properties": { "id": { "description": "The unique identifier for this cluster network subnet reserved IP", "example": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "x-child-schema-suffix": "ById", "title": "ClusterNetworkSubnetReservedIPIdentityById" }, "ClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext": { "description": "Identifies a cluster network subnet reserved IP by a unique property. Required if `subnet`\nis not specified. The cluster network subnet reserved IP must be currently unbound.", "example": { "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117" }, "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPIdentityById" }, { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPIdentityByHref" } ], "type": "object", "title": "ClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext" }, "ClusterNetworkSubnetReservedIPLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ClusterNetworkSubnetReservedIPLifecycleReason" }, "ClusterNetworkSubnetReservedIPLifecycleState": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the cluster network subnet reserved IP" } ], "title": "ClusterNetworkSubnetReservedIPLifecycleState" }, "ClusterNetworkSubnetReservedIPPatch": { "properties": { "auto_delete": { "description": "Indicates whether this cluster network subnet reserved IP member will be automatically\ndeleted when either `target` is deleted, or the cluster network subnet reserved IP is\nunbound. Must be `false` if the cluster network subnet reserved IP is unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this cluster network subnet reserved IP. The name must not be used by\nanother reserved IP in the cluster network subnet. Names starting with `ibm-`\nare reserved for provider-owned resources, and are not allowed.", "example": "my-cluster-network-subnet-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkSubnetReservedIPPatch" }, "ClusterNetworkSubnetReservedIPPrototype": { "properties": { "address": { "description": "The IP address to reserve, which must not already be reserved on the subnet.\n\nIf unspecified, an available address on the subnet will automatically be selected.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "name": { "description": "The name for this cluster network subnet reserved IP. The name must not be used by\nanother reserved IP in the cluster network subnet. Names starting with `ibm-`\nare reserved for provider-owned resources, and are not allowed. If unspecified, the\nname will be a hyphenated list of randomly-selected words.", "example": "my-cluster-network-subnet-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ClusterNetworkSubnetReservedIPPrototype" }, "ClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext": { "description": "The prototype for a new cluster network subnet reserved IP. Requires `subnet` to be\nspecified.", "not": { "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPIdentity" }, "properties": { "address": { "description": "The IP address to reserve, which must not already be reserved on the subnet.\n\nIf unspecified, an available address on the subnet will automatically be selected.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "auto_delete": { "default": true, "description": "Indicates whether this cluster network subnet reserved IP member will be automatically\ndeleted when either `target` is deleted, or the cluster network subnet reserved IP is\nunbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this cluster network subnet reserved IP. The name must not be used by\nanother reserved IP in the cluster network subnet. Names starting with `ibm-`\nare reserved for provider-owned resources, and are not allowed. If unspecified, the\nname will be a hyphenated list of randomly-selected words.", "example": "my-cluster-network-subnet-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "ClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext" }, "ClusterNetworkSubnetReservedIPReference": { "example": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/IPv4" } ], "description": "The IP address.\n\nIf the address is pending allocation, the value will be `0.0.0.0`.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future.", "example": "10.1.0.6" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this cluster network subnet reserved IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this cluster network subnet reserved IP", "example": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this cluster network subnet reserved IP. The name is unique across all\nreserved IPs in a cluster network subnet.", "example": "my-cluster-network-subnet-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "cluster_network_subnet_reserved_ip" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "address", "href", "id", "name", "resource_type" ], "type": "object", "x-child-schema-suffix": "ById", "title": "ClusterNetworkSubnetReservedIPReference" }, "ClusterNetworkSubnetReservedIPTarget": { "description": "The target this cluster network subnet reserved IP is bound to.\n\nIf absent, this cluster network subnet reserved IP is provider-owned or unbound.", "oneOf": [ { "$ref": "#/components/schemas/ClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext" } ], "type": "object", "title": "ClusterNetworkSubnetReservedIPTarget" }, "ClusterNetworkSubnetResourceType": { "description": "The resource type", "enum": [ "cluster_network_subnet" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ClusterNetworkSubnetResourceType" }, "ClusterNetworkSubnetTotalIPv4AddressCount": { "description": "The total number of IPv4 addresses in this cluster network subnet.\n\nNote: This is calculated as 2(32 - prefix length). For example, the\nprefix length `/24` gives:
\n2(32 - 24) = 28 = 256 addresses.", "example": 256, "format": "int64", "type": "integer", "title": "ClusterNetworkSubnetTotalIPv4AddressCount" }, "DNSInstanceIdentity": { "description": "Identifies a DNS instance by a unique property.", "oneOf": [ { "$ref": "#/components/schemas/DNSInstanceIdentityByCRN" } ], "type": "object", "title": "DNSInstanceIdentity" }, "DNSInstanceIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this DNS instance.", "example": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "DNSInstanceIdentityByCRN" }, "DNSInstanceReferenceLoadBalancerDNSContext": { "properties": { "crn": { "description": "The CRN for this DNS instance.", "example": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "DNSInstanceReferenceLoadBalancerDNSContext" }, "DNSServer": { "description": "A DNS server.", "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/IPv4" } ], "description": "The IP address.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future." }, "zone_affinity": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "If present, DHCP configuration for this zone will have this DNS server listed first." } ] } }, "required": [ "address" ], "type": "object", "title": "DNSServer" }, "DNSServerPrototype": { "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/IPv4" } ], "description": "The DNS server IPv4 address" }, "zone_affinity": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" } ], "description": "If specified, DHCP configuration for the specified zone will have this DNS server listed\nfirst." } }, "type": "object", "title": "DNSServerPrototype" }, "DNSZoneIdentity": { "description": "Identifies a DNS zone by a unique property.", "example": { "id": "d66662cc-aa23-4fe1-9987-858487a61f45" }, "oneOf": [ { "$ref": "#/components/schemas/DNSZoneIdentityById" } ], "type": "object", "title": "DNSZoneIdentity" }, "DNSZoneIdentityById": { "properties": { "id": { "example": "d66662cc-aa23-4fe1-9987-858487a61f45", "maxLength": 128, "minLength": 1, "pattern": "^[a-z0-9\\-]*[a-z0-9]$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "DNSZoneIdentityById" }, "DNSZoneReference": { "properties": { "id": { "example": "d66662cc-aa23-4fe1-9987-858487a61f45", "maxLength": 128, "minLength": 1, "pattern": "^[a-z0-9\\-]*[a-z0-9]$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "DNSZoneReference" }, "Date": { "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string", "title": "Date" }, "DedicatedHost": { "example": { "available_memory": 346, "available_vcpu": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "created_at": "2024-11-04T19:38:33Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "disks": [ { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "id": "0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] }, { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-9b955378-baf7-11ea-a364-000c29475bed", "id": "0717-9b955378-baf7-11ea-a364-000c29475bed", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] }, { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "id": "0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] }, { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-9b955378-baf7-11ea-a364-000c29475bed", "id": "0717-9b955378-baf7-11ea-a364-000c29475bed", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] } ], "group": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "name": "my-dedicated-host-group", "resource_type": "dedicated_host_group" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "instance_placement_enabled": true, "instances": [], "lifecycle_state": "stable", "memory": 346, "name": "my-dedicated-host", "numa": { "count": 0, "nodes": [] }, "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles/mx2-host-152x1216", "name": "mx2-host-152x1216" }, "provisionable": true, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "dedicated_host", "socket_count": 2, "state": "available", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-2x16", "name": "mx2-2x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-4x32", "name": "mx2-4x32", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-8x64", "name": "mx2-8x64", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-16x128", "name": "mx2-16x128", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-32x256", "name": "mx2-32x256", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-48x384", "name": "mx2-48x384", "resource_type": "instance_profile" } ], "vcpu": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "available_memory": { "description": "The amount of memory in gibibytes that is currently available for instances", "example": 128, "maximum": 1024, "minimum": 0, "type": "integer" }, "available_vcpu": { "allOf": [ { "$ref": "#/components/schemas/VCPU" }, { "description": "The available VCPU for the dedicated host" } ] }, "created_at": { "description": "The date and time that the dedicated host was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this dedicated host", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "disks": { "description": "The disks for the dedicated host", "items": { "$ref": "#/components/schemas/DedicatedHostDisk" }, "type": "array" }, "group": { "allOf": [ { "$ref": "#/components/schemas/DedicatedHostGroupReference" }, { "description": "The dedicated host group this dedicated host is in" } ] }, "href": { "description": "The URL for this dedicated host", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this dedicated host", "example": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "instance_placement_enabled": { "description": "If set to true, instances can be placed on this dedicated host", "type": "boolean" }, "instances": { "description": "The instances that are allocated to this dedicated host.", "items": { "$ref": "#/components/schemas/InstanceReference" }, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the dedicated host." } ] }, "memory": { "description": "The total amount of memory in gibibytes for this host", "example": 128, "maximum": 1024, "minimum": 0, "type": "integer" }, "name": { "description": "The name for this dedicated host. The name is unique across all dedicated hosts in the\nregion.", "example": "my-host", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "numa": { "$ref": "#/components/schemas/DedicatedHostNUMA" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileReference" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) for this\ndedicated host." } ] }, "provisionable": { "description": "Indicates whether this dedicated host is available for instance creation", "type": "boolean" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this dedicated host" } ] }, "resource_type": { "description": "The resource type", "enum": [ "dedicated_host" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "socket_count": { "description": "The total number of sockets for this host", "example": 4, "minimum": 1, "type": "integer" }, "state": { "description": "The administrative state of the dedicated host.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "degraded", "migrating", "unavailable" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "supported_instance_profiles": { "description": "The instance profiles usable by instances placed on this dedicated host.", "items": { "$ref": "#/components/schemas/InstanceProfileReference" }, "minItems": 1, "type": "array" }, "vcpu": { "allOf": [ { "$ref": "#/components/schemas/VCPU" }, { "description": "The total VCPU of the dedicated host" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this dedicated host resides in" } ] } }, "required": [ "available_memory", "available_vcpu", "created_at", "crn", "disks", "group", "href", "id", "instance_placement_enabled", "instances", "lifecycle_state", "memory", "name", "numa", "profile", "provisionable", "resource_group", "resource_type", "socket_count", "state", "supported_instance_profiles", "vcpu", "zone" ], "type": "object", "title": "DedicatedHost" }, "DedicatedHostByGroup": { "not": { "$ref": "#/components/schemas/DedicatedHostByGroupNot" }, "properties": { "group": { "allOf": [ { "$ref": "#/components/schemas/DedicatedHostGroupIdentity" }, { "description": "The dedicated host group for this dedicated host" } ] } }, "required": [ "group" ], "type": "object", "title": "DedicatedHostByGroup" }, "DedicatedHostByGroupNot": { "properties": { "zone": { "$ref": "#/components/schemas/ZoneIdentity" } }, "required": [ "zone" ], "type": "object", "title": "DedicatedHostByGroupNot" }, "DedicatedHostByZone": { "properties": { "group": { "$ref": "#/components/schemas/DedicatedHostGroupPrototypeDedicatedHostByZoneContext" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this dedicated host will reside in" } ] } }, "required": [ "zone" ], "type": "object", "title": "DedicatedHostByZone" }, "DedicatedHostCollection": { "example": { "dedicated_hosts": [ { "available_memory": 346, "available_vcpu": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "created_at": "2024-11-04T19:38:33Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "disks": [ { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "id": "0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] }, { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-9b955378-baf7-11ea-a364-000c29475bed", "id": "0717-9b955378-baf7-11ea-a364-000c29475bed", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] } ], "group": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "name": "my-dedicated-host-group", "resource_type": "dedicated_host_group" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "instance_placement_enabled": true, "instances": [], "lifecycle_state": "stable", "memory": 346, "name": "my-dedicated-host", "numa": { "count": 0, "nodes": [] }, "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles/mx2-host-152x1216", "name": "mx2-host-152x1216" }, "provisionable": true, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "dedicated_host", "socket_count": 2, "state": "available", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-2x16", "name": "mx2-2x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-4x32", "name": "mx2-4x32", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-8x64", "name": "mx2-8x64", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-16x128", "name": "mx2-16x128", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-32x256", "name": "mx2-32x256", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-48x384", "name": "mx2-48x384", "resource_type": "instance_profile" } ], "vcpu": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "dedicated_hosts": { "description": "A page of dedicated hosts", "items": { "$ref": "#/components/schemas/DedicatedHost" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "dedicated_hosts", "first", "limit", "total_count" ], "type": "object", "title": "DedicatedHostCollection" }, "DedicatedHostDisk": { "example": { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "id": "0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] }, "properties": { "available": { "description": "The remaining space left for instance placement in GB (gigabytes)", "type": "integer" }, "created_at": { "description": "The date and time that the disk was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this disk", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this disk", "example": "0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "instance_disks": { "description": "The instance disks that are on this dedicated host disk", "items": { "$ref": "#/components/schemas/InstanceDiskReference" }, "type": "array" }, "interface_type": { "$ref": "#/components/schemas/DedicatedHostDiskInterfaceType" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of this dedicated host disk" } ] }, "name": { "description": "The name for this dedicated host disk. The name is unique across all disks on the\ndedicated host.", "example": "my-dedicated-host-disk", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "provisionable": { "description": "Indicates whether this dedicated host disk is available for instance disk creation", "type": "boolean" }, "resource_type": { "description": "The resource type", "enum": [ "dedicated_host_disk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "size": { "description": "The size of the disk in GB (gigabytes)", "type": "integer" }, "supported_instance_interface_types": { "$ref": "#/components/schemas/DedicatedHostDiskSupportedInstanceInterfaceTypes" } }, "required": [ "available", "created_at", "href", "id", "instance_disks", "interface_type", "name", "provisionable", "resource_type", "size", "supported_instance_interface_types" ], "type": "object", "title": "DedicatedHostDisk" }, "DedicatedHostDiskCollection": { "example": { "disks": [ { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "id": "0717-bd091a9e-b036-4c65-a79b-56d164911f6e", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] }, { "available": 3200, "created_at": "2024-11-04T17:05:47.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a/disks/0717-9b955378-baf7-11ea-a364-000c29475bed", "id": "0717-9b955378-baf7-11ea-a364-000c29475bed", "instance_disks": [], "interface_type": "nvme", "name": "my-dedicated-host-disk", "provisionable": true, "resource_type": "dedicated_host_disk", "size": 3200, "supported_instance_interface_types": [ "virtio_blk", "nvme" ] } ] }, "properties": { "disks": { "description": "The disks for the dedicated host", "items": { "$ref": "#/components/schemas/DedicatedHostDisk" }, "type": "array" } }, "required": [ "disks" ], "type": "object", "title": "DedicatedHostDiskCollection" }, "DedicatedHostDiskInterfaceType": { "description": "The disk interface used for attaching the disk", "enum": [ "nvme" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "DedicatedHostDiskInterfaceType" }, "DedicatedHostDiskPatch": { "properties": { "name": { "description": "The name for this dedicated host disk. The name must not be used by another disk on\nthe dedicated host.", "example": "my-dedicated-host-disk-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "DedicatedHostDiskPatch" }, "DedicatedHostDiskSupportedInstanceInterfaceTypes": { "description": "The instance disk interfaces supported for this dedicated host disk.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "items": { "$ref": "#/components/schemas/InstanceDiskInterfaceType" }, "minItems": 1, "type": "array", "uniqueItems": true, "title": "DedicatedHostDiskSupportedInstanceInterfaceTypes" }, "DedicatedHostGroup": { "example": { "class": "mx2", "created_at": "2024-11-04T21:29:25Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "dedicated_hosts": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "name": "my-dedicated-host", "resource_type": "dedicated_host" } ], "family": "memory", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "name": "my-dedicated-host-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "dedicated_host_group", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-2x16", "name": "mx2-2x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-4x32", "name": "mx2-4x32", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-8x64", "name": "mx2-8x64", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-16x128", "name": "mx2-16x128", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-32x256", "name": "mx2-32x256", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-48x384", "name": "mx2-48x384", "resource_type": "instance_profile" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "class": { "description": "The dedicated host profile class for hosts in this group", "example": "bx2", "maxLength": 64, "minLength": 1, "pattern": "^[A-Za-z0-9]+$", "type": "string" }, "created_at": { "description": "The date and time that the dedicated host group was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this dedicated host group", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "dedicated_hosts": { "description": "The dedicated hosts that are in this dedicated host group", "items": { "$ref": "#/components/schemas/DedicatedHostReference" }, "type": "array" }, "family": { "description": "The dedicated host profile family for hosts in this group", "enum": [ "balanced", "compute", "memory" ], "example": "balanced", "maxLength": 128, "minLength": 2, "pattern": "^[a-z]+([-_][a-z]+){0,5}$", "type": "string" }, "href": { "description": "The URL for this dedicated host group", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this dedicated host group", "example": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this dedicated host group. The name is unique across all dedicated host\ngroups in the region.", "example": "my-dedicated-host-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this dedicated host group" } ] }, "resource_type": { "description": "The resource type", "enum": [ "dedicated_host_group" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "supported_instance_profiles": { "description": "The instance profiles usable by instances placed on this dedicated host group.", "items": { "$ref": "#/components/schemas/InstanceProfileReference" }, "minItems": 1, "type": "array" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this dedicated host group resides in" } ] } }, "required": [ "class", "created_at", "crn", "dedicated_hosts", "family", "href", "id", "name", "resource_group", "resource_type", "supported_instance_profiles", "zone" ], "type": "object", "title": "DedicatedHostGroup" }, "DedicatedHostGroupCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups?limit=50" }, "groups": [ { "class": "mx2", "created_at": "2024-11-04T21:29:25Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "dedicated_hosts": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "name": "my-dedicated-host", "resource_type": "dedicated_host" } ], "family": "memory", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "name": "my-dedicated-host-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "dedicated_host_group", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-2x16", "name": "mx2-2x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-4x32", "name": "mx2-4x32", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-8x64", "name": "mx2-8x64", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-16x128", "name": "mx2-16x128", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-32x256", "name": "mx2-32x256", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-48x384", "name": "mx2-48x384", "resource_type": "instance_profile" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "limit": 50, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups?limit=20" } }, "groups": { "description": "A page of dedicated host groups", "items": { "$ref": "#/components/schemas/DedicatedHostGroup" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "groups", "limit", "total_count" ], "type": "object", "title": "DedicatedHostGroupCollection" }, "DedicatedHostGroupIdentity": { "description": "Identifies a dedicated host group by a unique property.", "example": { "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0" }, "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostGroupIdentityById" }, { "$ref": "#/components/schemas/DedicatedHostGroupIdentityByCRN" }, { "$ref": "#/components/schemas/DedicatedHostGroupIdentityByHref" } ], "type": "object", "title": "DedicatedHostGroupIdentity" }, "DedicatedHostGroupIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this dedicated host group", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "DedicatedHostGroupIdentityByCRN" }, "DedicatedHostGroupIdentityByHref": { "properties": { "href": { "description": "The URL for this dedicated host group", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "DedicatedHostGroupIdentityByHref" }, "DedicatedHostGroupIdentityById": { "properties": { "id": { "description": "The unique identifier for this dedicated host group", "example": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "DedicatedHostGroupIdentityById" }, "DedicatedHostGroupPatch": { "properties": { "name": { "description": "The name for this dedicated host group. The name must not be used by another dedicated\nhost group in the region.", "example": "my-dedicated-host-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "DedicatedHostGroupPatch" }, "DedicatedHostGroupPrototype": { "properties": { "class": { "description": "The dedicated host profile class for hosts in this group", "example": "bx2", "maxLength": 64, "minLength": 1, "pattern": "^[A-Za-z0-9]+$", "type": "string" }, "family": { "description": "The dedicated host profile family for hosts in this group", "enum": [ "balanced", "compute", "memory" ], "example": "balanced", "maxLength": 128, "minLength": 2, "pattern": "^[a-z]+([-_][a-z]+){0,5}$", "type": "string" }, "name": { "description": "The name for this dedicated host group. The name must not be used by another dedicated\nhost group in the region. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-dedicated-host-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this dedicated host group will reside in" } ] } }, "required": [ "class", "family", "zone" ], "type": "object", "title": "DedicatedHostGroupPrototype" }, "DedicatedHostGroupPrototypeDedicatedHostByZoneContext": { "properties": { "name": { "description": "The name for this dedicated host group. The name must not be used by another dedicated\nhost group in the region. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-dedicated-host-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use. If unspecified, the host's resource group is used." } ] } }, "type": "object", "title": "DedicatedHostGroupPrototypeDedicatedHostByZoneContext" }, "DedicatedHostGroupReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "name": "my-dedicated-host-group", "resource_type": "dedicated_host_group" }, "properties": { "crn": { "description": "The CRN for this dedicated host group", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this dedicated host group", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups/0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this dedicated host group", "example": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this dedicated host group. The name is unique across all dedicated host\ngroups in the region.", "example": "my-dedicated-host-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "dedicated_host_group" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "DedicatedHostGroupReference" }, "DedicatedHostIdentity": { "description": "Identifies a dedicated host by a unique property.", "example": { "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a" }, "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostIdentityById" }, { "$ref": "#/components/schemas/DedicatedHostIdentityByCRN" }, { "$ref": "#/components/schemas/DedicatedHostIdentityByHref" } ], "type": "object", "title": "DedicatedHostIdentity" }, "DedicatedHostIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this dedicated host", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "DedicatedHostIdentityByCRN" }, "DedicatedHostIdentityByHref": { "properties": { "href": { "description": "The URL for this dedicated host", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "DedicatedHostIdentityByHref" }, "DedicatedHostIdentityById": { "properties": { "id": { "description": "The unique identifier for this dedicated host", "example": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "DedicatedHostIdentityById" }, "DedicatedHostNUMA": { "description": "The dedicated host NUMA configuration", "properties": { "count": { "description": "The total number of NUMA nodes for this dedicated host", "example": 2, "type": "integer" }, "nodes": { "description": "The NUMA nodes for this dedicated host", "items": { "$ref": "#/components/schemas/DedicatedHostNUMANode" }, "minItems": 0, "type": "array" } }, "required": [ "count", "nodes" ], "type": "object", "title": "DedicatedHostNUMA" }, "DedicatedHostNUMANode": { "description": "The dedicated host NUMA node configuration.", "properties": { "available_vcpu": { "description": "The available VCPU for this NUMA node.", "example": 24, "type": "integer" }, "vcpu": { "description": "The total VCPU capacity for this NUMA node.", "example": 56, "type": "integer" } }, "required": [ "available_vcpu", "vcpu" ], "type": "object", "title": "DedicatedHostNUMANode" }, "DedicatedHostPatch": { "properties": { "instance_placement_enabled": { "description": "If set to true, instances can be placed on this dedicated host", "type": "boolean" }, "name": { "description": "The name for this dedicated host. The name must not be used by another dedicated host\nin the region.", "example": "my-host", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "DedicatedHostPatch" }, "DedicatedHostProfile": { "example": { "class": "mx2", "disks": [], "family": "memory", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles/mx2-host-152x1216", "memory": { "type": "fixed", "value": 1216 }, "name": "mx2-host-152x1216", "socket_count": { "type": "fixed", "value": 4 }, "status": "current", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-2x16", "name": "mx2-2x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-4x32", "name": "mx2-4x32", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-8x64", "name": "mx2-8x64", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-16x128", "name": "mx2-16x128", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-32x256", "name": "mx2-32x256", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-48x384", "name": "mx2-48x384", "resource_type": "instance_profile" } ], "vcpu_architecture": { "type": "fixed", "value": "amd64" }, "vcpu_count": { "type": "fixed", "value": 152 }, "vcpu_manufacturer": { "type": "fixed", "value": "intel" } }, "properties": { "class": { "$ref": "#/components/schemas/DedicatedHostProfileClass" }, "disks": { "$ref": "#/components/schemas/DedicatedHostProfileDisks" }, "family": { "$ref": "#/components/schemas/DedicatedHostProfileFamily" }, "href": { "description": "The URL for this dedicated host", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "memory": { "$ref": "#/components/schemas/DedicatedHostProfileMemory" }, "name": { "description": "The globally unique name for this dedicated host profile", "example": "mx2-host-152x1216", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "socket_count": { "$ref": "#/components/schemas/DedicatedHostProfileSocket" }, "status": { "$ref": "#/components/schemas/DedicatedHostProfileStatus" }, "supported_instance_profiles": { "description": "The instance profiles usable by instances placed on dedicated hosts with this profile.", "items": { "$ref": "#/components/schemas/InstanceProfileReference" }, "minItems": 1, "type": "array" }, "vcpu_architecture": { "$ref": "#/components/schemas/DedicatedHostProfileVCPUArchitecture" }, "vcpu_count": { "$ref": "#/components/schemas/DedicatedHostProfileVCPU" }, "vcpu_manufacturer": { "$ref": "#/components/schemas/DedicatedHostProfileVCPUManufacturer" } }, "required": [ "class", "disks", "family", "href", "memory", "name", "socket_count", "status", "supported_instance_profiles", "vcpu_architecture", "vcpu_count", "vcpu_manufacturer" ], "type": "object", "title": "DedicatedHostProfile" }, "DedicatedHostProfileClass": { "description": "The product class this dedicated host profile belongs to", "example": "bx2", "maxLength": 64, "minLength": 1, "pattern": "^[A-Za-z0-9]+$", "type": "string", "title": "DedicatedHostProfileClass" }, "DedicatedHostProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles?limit=50" }, "limit": 50, "profiles": [ { "class": "mx2", "disks": [], "family": "memory", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles/mx2-host-152x1216", "memory": { "type": "fixed", "value": 1216 }, "name": "mx2-host-152x1216", "socket_count": { "type": "fixed", "value": 4 }, "status": "current", "supported_instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-2x16", "name": "mx2-2x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-4x32", "name": "mx2-4x32", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-8x64", "name": "mx2-8x64", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-16x128", "name": "mx2-16x128", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-32x256", "name": "mx2-32x256", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/mx2-48x384", "name": "mx2-48x384", "resource_type": "instance_profile" } ], "vcpu_architecture": { "type": "fixed", "value": "amd64" }, "vcpu_count": { "type": "fixed", "value": 152 }, "vcpu_manufacturer": { "type": "fixed", "value": "intel" } } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles?start=9da91&limit=20" } }, "profiles": { "description": "A page of dedicated host profiles", "items": { "$ref": "#/components/schemas/DedicatedHostProfile" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "profiles", "total_count" ], "type": "object", "title": "DedicatedHostProfileCollection" }, "DedicatedHostProfileDisk": { "description": "Disks provided by this profile", "properties": { "interface_type": { "$ref": "#/components/schemas/DedicatedHostProfileDiskInterface" }, "quantity": { "$ref": "#/components/schemas/DedicatedHostProfileDiskQuantity" }, "size": { "$ref": "#/components/schemas/DedicatedHostProfileDiskSize" }, "supported_instance_interface_types": { "$ref": "#/components/schemas/DedicatedHostProfileDiskSupportedInterfaces" } }, "required": [ "interface_type", "quantity", "size", "supported_instance_interface_types" ], "type": "object", "title": "DedicatedHostProfileDisk" }, "DedicatedHostProfileDiskInterface": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The interface of the disk for a dedicated host with this profile\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "nvme" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileDiskInterface" }, "DedicatedHostProfileDiskQuantity": { "allOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileDiskQuantityFixed" } ], "title": "DedicatedHostProfileDiskQuantity" }, "DedicatedHostProfileDiskQuantityFixed": { "description": "The number of disks of this type for a dedicated host with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileDiskQuantityFixed" }, "DedicatedHostProfileDiskSize": { "allOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileDiskSizeFixed" } ], "title": "DedicatedHostProfileDiskSize" }, "DedicatedHostProfileDiskSizeFixed": { "description": "The size of the disk in GB (gigabytes)", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The size of the disk in GB (gigabytes)", "example": 3200, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileDiskSizeFixed" }, "DedicatedHostProfileDiskSupportedInterfaces": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The instance disk interfaces supported for a dedicated host with this profile.", "items": { "$ref": "#/components/schemas/InstanceDiskInterfaceType" }, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileDiskSupportedInterfaces" }, "DedicatedHostProfileDisks": { "description": "The disks for a dedicated host with this profile", "items": { "$ref": "#/components/schemas/DedicatedHostProfileDisk" }, "minItems": 0, "type": "array", "title": "DedicatedHostProfileDisks" }, "DedicatedHostProfileFamily": { "description": "The product family this dedicated host profile belongs to\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "balanced", "compute", "memory" ], "example": "balanced", "maxLength": 128, "minLength": 2, "pattern": "^[a-z]+([-_][a-z]+){0,5}$", "type": "string", "title": "DedicatedHostProfileFamily" }, "DedicatedHostProfileIdentity": { "description": "Identifies a dedicated host profile by a unique property", "example": { "name": "mx2-host-152x1216" }, "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileIdentityByName" }, { "$ref": "#/components/schemas/DedicatedHostProfileIdentityByHref" } ], "type": "object", "title": "DedicatedHostProfileIdentity" }, "DedicatedHostProfileIdentityByHref": { "properties": { "href": { "description": "The URL for this dedicated host profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles/mx2-host-152x1216", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "DedicatedHostProfileIdentityByHref" }, "DedicatedHostProfileIdentityByName": { "properties": { "name": { "description": "The globally unique name for this dedicated host profile", "example": "mx2-host-152x1216", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "DedicatedHostProfileIdentityByName" }, "DedicatedHostProfileMemory": { "example": { "type": "fixed", "value": 32 }, "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileMemoryFixed" }, { "$ref": "#/components/schemas/DedicatedHostProfileMemoryRange" }, { "$ref": "#/components/schemas/DedicatedHostProfileMemoryEnum" }, { "$ref": "#/components/schemas/DedicatedHostProfileMemoryDependent" } ], "type": "object", "title": "DedicatedHostProfileMemory" }, "DedicatedHostProfileMemoryDependent": { "description": "The memory value for a dedicated host with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "DedicatedHostProfileMemoryDependent" }, "DedicatedHostProfileMemoryEnum": { "description": "The permitted memory values (in gibibytes) for a dedicated host with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 8, 16, 32 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "DedicatedHostProfileMemoryEnum" }, "DedicatedHostProfileMemoryFixed": { "description": "The memory (in gibibytes) for a dedicated host with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 16, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileMemoryFixed" }, "DedicatedHostProfileMemoryRange": { "description": "The permitted memory range (in gibibytes) for a dedicated host with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 16, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 384, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 8, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 8, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "DedicatedHostProfileMemoryRange" }, "DedicatedHostProfileReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles/mx2-host-152x1216", "name": "mx2-host-152x1216" }, "properties": { "href": { "description": "The URL for this dedicated host", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this dedicated host profile", "example": "mx2-host-152x1216", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "name" ], "type": "object", "title": "DedicatedHostProfileReference" }, "DedicatedHostProfileSocket": { "example": { "type": "fixed", "value": 8 }, "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileSocketFixed" }, { "$ref": "#/components/schemas/DedicatedHostProfileSocketRange" }, { "$ref": "#/components/schemas/DedicatedHostProfileSocketEnum" }, { "$ref": "#/components/schemas/DedicatedHostProfileSocketDependent" } ], "type": "object", "title": "DedicatedHostProfileSocket" }, "DedicatedHostProfileSocketDependent": { "description": "The CPU socket count for a dedicated host with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "DedicatedHostProfileSocketDependent" }, "DedicatedHostProfileSocketEnum": { "description": "The permitted values for CPU socket count for a dedicated host with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 2, 4, 8 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "DedicatedHostProfileSocketEnum" }, "DedicatedHostProfileSocketFixed": { "description": "The CPU socket count for a dedicated host with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 2, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileSocketFixed" }, "DedicatedHostProfileSocketRange": { "description": "The permitted range for CPU socket count for a dedicated host with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 2, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 4, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "DedicatedHostProfileSocketRange" }, "DedicatedHostProfileStatus": { "description": "The status of the dedicated host profile:\n- `previous`: This dedicated host profile is an older revision, but remains provisionable\n and usable.\n- `current`: This dedicated host profile is the latest revision.\n\nRevisions are indicated by the generation of a dedicated host profile.\nRefer to the [profile naming\nconventions](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles&interface=ui#profiles-naming-rule)\nfor information on how generations are defined within a dedicated host profile.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "current", "previous" ], "example": "current", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "DedicatedHostProfileStatus" }, "DedicatedHostProfileVCPU": { "example": { "type": "fixed", "value": 8 }, "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileVCPUFixed" }, { "$ref": "#/components/schemas/DedicatedHostProfileVCPURange" }, { "$ref": "#/components/schemas/DedicatedHostProfileVCPUEnum" }, { "$ref": "#/components/schemas/DedicatedHostProfileVCPUDependent" } ], "type": "object", "title": "DedicatedHostProfileVCPU" }, "DedicatedHostProfileVCPUArchitecture": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The VCPU architecture for a dedicated host with this profile", "enum": [ "amd64", "s390x" ], "example": "amd64", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileVCPUArchitecture" }, "DedicatedHostProfileVCPUDependent": { "description": "The VCPU count for a dedicated host with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "DedicatedHostProfileVCPUDependent" }, "DedicatedHostProfileVCPUEnum": { "description": "The permitted values for VCPU count for a dedicated host with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 2, 4, 16 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "DedicatedHostProfileVCPUEnum" }, "DedicatedHostProfileVCPUFixed": { "description": "The VCPU count for a dedicated host with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 16, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileVCPUFixed" }, "DedicatedHostProfileVCPUManufacturer": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The VCPU manufacturer for a dedicated host with this profile", "enum": [ "amd", "ibm", "intel" ], "example": "intel", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type", "value" ], "type": "object", "title": "DedicatedHostProfileVCPUManufacturer" }, "DedicatedHostProfileVCPURange": { "description": "The permitted range for VCPU count for a dedicated host with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 4, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 56, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 2, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 2, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "DedicatedHostProfileVCPURange" }, "DedicatedHostPrototype": { "example": { "group": { "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0" }, "profile": { "name": "mx2-host-152x1216" } }, "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostByGroup" }, { "$ref": "#/components/schemas/DedicatedHostByZone" } ], "properties": { "instance_placement_enabled": { "default": true, "description": "If set to true, instances can be placed on this dedicated host", "type": "boolean" }, "name": { "description": "The name for this dedicated host. The name must not be used by another dedicated host\nin the region. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-host", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/DedicatedHostProfileIdentity" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) to use for this\ndedicated host" } ] }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "required": [ "profile" ], "type": "object", "title": "DedicatedHostPrototype" }, "DedicatedHostReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "name": "my-dedicated-host", "resource_type": "dedicated_host" }, "properties": { "crn": { "description": "The CRN for this dedicated host", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this dedicated host", "example": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this dedicated host", "example": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this dedicated host. The name is unique across all dedicated hosts in the\nregion.", "example": "my-host", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "dedicated_host" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "DedicatedHostReference" }, "DefaultNetworkACL": { "example": { "created_at": "2024-12-11T06:26:17Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-3217cb8b-5368-452a-9399-a84f14fb539d", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d", "id": "r006-3217cb8b-5368-452a-9399-a84f14fb539d", "name": "mnemonic-ersatz-eatery-mythology", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T04:21:14Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "id": "r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-3d48a40c-7ae0-4383-8594-4409ead771da", "id": "r006-3d48a40c-7ae0-4383-8594-4409ead771da", "ip_version": "ipv4", "name": "allow-inbound", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/0ebfaf53-e925-4b27-9bfc-245780a40dd7", "id": "r006-0ebfaf53-e925-4b27-9bfc-245780a40dd7", "ip_version": "ipv4", "name": "allow-outbound", "protocol": "all", "source": "0.0.0.0/0" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "created_at": { "description": "The date and time that the network ACL was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this network ACL", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this network ACL", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this network ACL", "example": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name of the default network ACL created for a VPC. The name will be a\nhyphenated list of randomly-selected words at creation, but may be changed.", "example": "mnemonic-ersatz-eatery-mythology", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" } ], "description": "The resource group for the default network ACL for a VPC. Set to the VPC's\nresource group at creation." }, "rules": { "description": "The ordered rules for the default network ACL for a VPC. Created with:\n- The first rule, named `allow-inbound`, allowing ICMP, TCP and UDP inbound traffic.\n- The second rule, named `allow-outbound`, allowing ICMP, TCP, and UDP outbound\n traffic.\n\n Rules for the default network ACL may be changed, added, or removed.", "items": { "$ref": "#/components/schemas/NetworkACLRuleItem" }, "type": "array" }, "subnets": { "description": "The subnets to which this network ACL is attached", "items": { "$ref": "#/components/schemas/SubnetReference" }, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this network ACL resides in" } ] } }, "required": [ "created_at", "crn", "href", "id", "name", "resource_group", "rules", "subnets", "vpc" ], "type": "object", "title": "DefaultNetworkACL" }, "DefaultRoutingTable": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "properties": { "accept_routes_from": { "description": "The filters specifying the resources that may create routes in this routing table.\n\nCreated with filters allowing `vpn_gateway` and `vpn_server` resources to create\nroutes, but filters may be added or removed with subsequent requests.\n\nThe resources and types of filters supported by this property is expected to\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": [ { "resource_type": "vpn_server" } ], "items": { "$ref": "#/components/schemas/ResourceFilter" }, "type": "array", "uniqueItems": true }, "advertise_routes_to": { "description": "The ingress sources to advertise routes to. Routes in the table with `advertise`\nenabled will be advertised to these sources.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": [ "transit_gateway", "direct_link" ], "items": { "$ref": "#/components/schemas/RoutingTableAdvertiseRoutesToSource" }, "minItems": 0, "type": "array", "uniqueItems": true }, "created_at": { "description": "The date and time that this routing table was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this VPC routing table", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this routing table", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this routing table", "example": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "is_default": { "description": "Indicates whether this is the default routing table for this VPC", "type": "boolean" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the routing table" } ] }, "name": { "description": "The name of the default routing table created for this VPC. The name will be a\nhyphenated list of randomly-selected words at creation, but may be changed.", "example": "milled-easy-equine-machines", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this routing table" } ] }, "resource_type": { "description": "The resource type", "enum": [ "routing_table" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "route_direct_link_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\n[Direct Link](https://cloud.ibm.com/docs/dl) to this VPC.\n\nSet to `false` at VPC creation, but may be updated with subsequent requests.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is\nan IP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "route_internet_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\nthe internet.\n\nSet to `false` at VPC creation, but may be updated with subsequent requests.\n\nIncoming traffic will be routed according to the routing table with two exceptions:\n- Traffic destined for IP addresses associated with public gateways will not be\n subject to routes in this routing table.\n- Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop`\n is an IP address in a subnet in the route's `zone` that is able to accept traffic.\n Therefore, if an incoming packet matches a route with a `next_hop` of a VPN\n gateway connection, the packet will be dropped.", "type": "boolean" }, "route_transit_gateway_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\nfrom [Transit Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC.\n\nSet to `false` at VPC creation, but may be updated with subsequent requests.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is\nan IP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "route_vpc_zone_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\nsubnets in other zones in this VPC.\n\nSet to `false` at VPC creation, but may be updated with subsequent requests.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is\nan IP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "routes": { "description": "The routes for the default routing table for this VPC. The table is created with\nno routes, but routes may be added, changed, or removed with a subsequent request.", "items": { "$ref": "#/components/schemas/RouteReference" }, "type": "array" }, "subnets": { "description": "The subnets to which this routing table is attached", "items": { "$ref": "#/components/schemas/SubnetReference" }, "type": "array" } }, "required": [ "accept_routes_from", "advertise_routes_to", "created_at", "crn", "href", "id", "is_default", "lifecycle_state", "name", "resource_group", "resource_type", "route_direct_link_ingress", "route_internet_ingress", "route_transit_gateway_ingress", "route_vpc_zone_ingress", "routes", "subnets" ], "type": "object", "title": "DefaultRoutingTable" }, "DefaultSecurityGroup": { "example": { "created_at": "2024-11-06T01:51:28Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "humble-effect-normal-repaint-yellow", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-ad713e2d-9a80-4218-85a2-1f192b41b2c4", "id": "r006-ad713e2d-9a80-4218-85a2-1f192b41b2c4", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "protocol": "all", "remote": { "cidr_block": "0.0.0.0/0" } }, { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-3efb1b4c-5685-4514-a40a-f42f23da8134", "id": "r006-3efb1b4c-5685-4514-a40a-f42f23da8134", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "protocol": "all", "remote": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "humble-effect-normal-repaint-yellow" } } ], "targets": [], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "created_at": { "description": "The date and time that this security group was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this security group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this security group", "example": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this security group", "example": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for the default security group for a VPC. The name will be a hyphenated list\nof randomly-selected words at creation, but may changed.", "example": "observant-chip-emphatic-engraver", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this security group" } ] }, "rules": { "description": "The rules for the default security group for a VPC. Created with:\n- A rule allowing inbound ICMP, TCP and UDP traffic from other interfaces in the\n VPC's default security group\n- A rule allowing outbound ICMP, TCP and UDP traffic to any destination\n\nRules for the default security group may be changed, added or removed.", "items": { "$ref": "#/components/schemas/SecurityGroupRule" }, "type": "array" }, "targets": { "description": "The targets for this security group.", "items": { "$ref": "#/components/schemas/SecurityGroupTargetReference" }, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this security group resides in" } ] } }, "required": [ "created_at", "crn", "href", "id", "name", "resource_group", "rules", "targets", "vpc" ], "type": "object", "title": "DefaultSecurityGroup" }, "Deleted": { "description": "If present, this property indicates the referenced resource has been deleted, and provides\nsome supplementary information.", "properties": { "more_info": { "description": "A link to documentation about deleted resources", "example": "https://cloud.ibm.com/apidocs/vpc#deleted-resources", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "more_info" ], "type": "object", "title": "Deleted" }, "ETag": { "example": "W/\"96d225c4-56bd-43d9-98fc-d7148e5c5028\"", "maxLength": 512, "minLength": 2, "pattern": "^(W\\/)?\"([\\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]*|\\r\\n[\\t ]+)*\"$", "type": "string", "title": "ETag" }, "EncryptionKeyIdentity": { "description": "Identifies an encryption key by a unique property.", "example": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "oneOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentityByCRN" } ], "type": "object", "title": "EncryptionKeyIdentity" }, "EncryptionKeyIdentityByCRN": { "properties": { "crn": { "description": "The CRN of the [Key Protect Root\nKey](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial)\nor [Hyper Protect Crypto Services Root\nKey](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this\nresource.", "example": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "EncryptionKeyIdentityByCRN" }, "EncryptionKeyReference": { "example": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "properties": { "crn": { "description": "The CRN of the [Key Protect Root\nKey](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial)\nor [Hyper Protect Crypto Services Root\nKey](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this\nresource.", "example": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "EncryptionKeyReference" }, "EncryptionType": { "description": "The type of encryption used", "enum": [ "provider_managed", "user_managed" ], "example": "provider_managed", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "EncryptionType" }, "EndpointGateway": { "example": { "allow_dns_resolution_binding": true, "created_at": "2024-11-20T19:42:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "id": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" } ], "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-endpoint-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "endpoint_gateway", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "service_endpoints": [ "time.adn.networklayer.com" ], "target": { "name": "ibm-ntp-server", "resource_type": "provider_infrastructure_service" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "allow_dns_resolution_binding": { "description": "Indicates whether to allow DNS resolution for this endpoint gateway when the VPC this\nendpoint gateway resides in has a DNS resolution binding to a VPC with `dns.enable_hub`\nset to `true`.", "type": "boolean" }, "created_at": { "description": "The date and time that the endpoint gateway was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this endpoint gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this endpoint gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this endpoint gateway", "example": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0" } ] }, "ips": { "description": "The reserved IPs bound to this endpoint gateway.", "items": { "$ref": "#/components/schemas/ReservedIPReference" }, "type": "array" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/EndpointGatewayLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the endpoint gateway." } ] }, "name": { "description": "The name for this endpoint gateway. The name is unique across all endpoint gateways\nin the VPC.", "example": "my-endpoint-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this endpoint gateway" } ] }, "resource_type": { "description": "The resource type", "enum": [ "endpoint_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "security_groups": { "description": "The security groups targeting this endpoint gateway.", "items": { "$ref": "#/components/schemas/SecurityGroupReference" }, "minItems": 0, "type": "array", "uniqueItems": true }, "service_endpoint": { "deprecated": true, "description": "The fully qualified domain name for the target service. The domain name may have a\nwildcard prefix.", "example": "my-cloudant-instance.appdomain.cloud", "maxLength": 255, "minLength": 4, "pattern": "^(\\*\\.)?((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string" }, "service_endpoints": { "description": "The fully qualified domain names for the target service. A domain name may have a\nwildcard prefix.", "items": { "description": "A fully qualified domain name for the target service", "example": "my-cloudant-instance.appdomain.cloud", "maxLength": 255, "minLength": 4, "pattern": "^(\\*\\.)?((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string" }, "type": "array" }, "target": { "$ref": "#/components/schemas/EndpointGatewayTarget" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this endpoint gateway resides in" } ] } }, "required": [ "allow_dns_resolution_binding", "created_at", "crn", "health_state", "href", "id", "ips", "lifecycle_reasons", "lifecycle_state", "name", "resource_group", "resource_type", "security_groups", "service_endpoints", "target", "vpc" ], "type": "object", "title": "EndpointGateway" }, "EndpointGatewayCollection": { "example": { "endpoint_gateways": [ { "allow_dns_resolution_binding": true, "created_at": "2024-11-20T19:42:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "id": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" } ], "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-endpoint-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "endpoint_gateway", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "service_endpoints": [ "time.adn.networklayer.com" ], "target": { "name": "ibm-ntp-server", "resource_type": "provider_infrastructure_service" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "allow_dns_resolution_binding": true, "created_at": "2024-11-20T19:58:52Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-3f6bf064-f32b-41b7-8131-3bb46fc021dc", "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-3f6bf064-f32b-41b7-8131-3bb46fc021dc", "id": "r006-3f6bf064-f32b-41b7-8131-3bb46fc021dc", "ips": [ { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-endpoint-gateway-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "endpoint_gateway", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "service_endpoints": [ "foo.example.com" ], "target": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5", "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5", "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5", "name": "my-private-path-service-gateway", "resource_type": "private_path_service_gateway" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways?limit=50" }, "limit": 50, "total_count": 2 }, "properties": { "endpoint_gateways": { "description": "A page of endpoint gateways", "items": { "$ref": "#/components/schemas/EndpointGateway" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways?start=ffd653466e284937896724b2dd044c9c&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "endpoint_gateways", "first", "limit", "total_count" ], "type": "object", "title": "EndpointGatewayCollection" }, "EndpointGatewayIdentity": { "example": { "id": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0" }, "oneOf": [ { "$ref": "#/components/schemas/EndpointGatewayIdentityById" }, { "$ref": "#/components/schemas/EndpointGatewayIdentityByCRN" }, { "$ref": "#/components/schemas/EndpointGatewayIdentityByHref" } ], "type": "object", "title": "EndpointGatewayIdentity" }, "EndpointGatewayIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this endpoint gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "EndpointGatewayIdentityByCRN" }, "EndpointGatewayIdentityByHref": { "properties": { "href": { "description": "The URL for this endpoint gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "EndpointGatewayIdentityByHref" }, "EndpointGatewayIdentityById": { "properties": { "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this endpoint gateway", "example": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0" } ] } }, "required": [ "id" ], "type": "object", "title": "EndpointGatewayIdentityById" }, "EndpointGatewayLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `access_denied`: endpoint gateway access was denied\n- `access_expired`: endpoint gateway access has expired\n- `access_pending`: endpoint gateway access is pending\n- `dns_resolution_binding_pending`: the DNS resolution binding is being set up\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "access_denied", "access_expired", "access_pending", "dns_resolution_binding_pending", "internal_error", "resource_suspended_by_provider" ], "example": "dns_resolution_binding_pending", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "EndpointGatewayLifecycleReason" }, "EndpointGatewayPatch": { "properties": { "allow_dns_resolution_binding": { "description": "Indicates whether to allow DNS resolution for this endpoint gateway when the VPC this\nendpoint gateway resides in has a DNS resolution binding to a VPC with `dns.enable_hub`\nset to `true`.\n\nIf `true`, then there must not be another endpoint gateway with\n`allow_dns_resolution_binding` set to `true` in the [DNS\nsharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected topology that:\n- Has the same `target` as this endpoint gateway\n- Has `service_endpoints` that overlap with the `service_endpoints` for this endpoint\n gateway.\n\nMust be `true` if the VPC this endpoint gateway resides in has `dns.enable_hub` set to\n`true`.", "type": "boolean" }, "name": { "description": "The name for this endpoint gateway. The name must not be used by another endpoint\ngateway in the VPC.", "example": "my-endpoint-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "EndpointGatewayPatch" }, "EndpointGatewayPrototype": { "properties": { "allow_dns_resolution_binding": { "default": true, "description": "Indicates whether to allow DNS resolution for this endpoint gateway when the VPC this\nendpoint gateway resides in has a DNS resolution binding to a VPC with `dns.enable_hub`\nset to `true`.\n\nIf `true`, then there must not be another endpoint gateway with\n`allow_dns_resolution_binding` set to `true` in the [DNS\nsharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected topology that:\n- Has the same `target` as this endpoint gateway\n- Has `service_endpoints` that overlap with the `service_endpoints` for this endpoint\n gateway.\n\nMust be `true` if the VPC this endpoint gateway resides in has `dns.enable_hub` set to\n`true`.", "type": "boolean" }, "ips": { "description": "The reserved IPs to bind to this endpoint gateway. At most one reserved IP per zone is\nallowed.", "items": { "$ref": "#/components/schemas/EndpointGatewayReservedIP" }, "type": "array" }, "name": { "description": "The name for this endpoint gateway. The name must not be used by another endpoint\ngateway in the VPC. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-endpoint-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "security_groups": { "description": "The security groups to use for this endpoint gateway. If unspecified, the VPC's\ndefault security group is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "type": "array", "uniqueItems": true }, "target": { "$ref": "#/components/schemas/EndpointGatewayTargetPrototype" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this endpoint gateway will reside in" } ] } }, "required": [ "target", "vpc" ], "type": "object", "title": "EndpointGatewayPrototype" }, "EndpointGatewayReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "id": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "name": "my-endpoint-gateway", "resource_type": "endpoint_gateway" }, "properties": { "crn": { "description": "The CRN for this endpoint gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this endpoint gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this endpoint gateway", "example": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0" } ] }, "name": { "description": "The name for this endpoint gateway. The name is unique across all endpoint gateways\nin the VPC.", "example": "my-endpoint-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "endpoint_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "EndpointGatewayReference" }, "EndpointGatewayReferenceRemote": { "properties": { "crn": { "description": "The CRN for this endpoint gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this endpoint gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this endpoint gateway", "example": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0" } ] }, "name": { "description": "The name for this endpoint gateway. The name is unique across all endpoint gateways\nin the VPC.", "example": "my-endpoint-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/EndpointGatewayRemote" }, "resource_type": { "description": "The resource type", "enum": [ "endpoint_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "EndpointGatewayReferenceRemote" }, "EndpointGatewayRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\naccount, and identifies the owning account." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "EndpointGatewayRemote" }, "EndpointGatewayReservedIP": { "description": "A reserved IP to bind to the endpoint gateway. This can be specified using an existing\nreserved IP, or a prototype object for a new reserved IP. The reserved IP will be bound to\nthe endpoint gateway to function as a virtual private endpoint for the service.", "oneOf": [ { "$ref": "#/components/schemas/ReservedIPIdentity" }, { "$ref": "#/components/schemas/ReservedIPPrototypeTargetContext" } ], "type": "object", "title": "EndpointGatewayReservedIP" }, "EndpointGatewayTarget": { "description": "The target for this endpoint gateway.", "example": { "name": "ibm-ntp-server", "resource_type": "provider_infrastructure_service" }, "oneOf": [ { "$ref": "#/components/schemas/PrivatePathServiceGatewayReference" }, { "$ref": "#/components/schemas/ProviderCloudServiceReference" }, { "$ref": "#/components/schemas/ProviderInfrastructureServiceReference" } ], "properties": { "resource_type": { "description": "The target resource type for this endpoint gateway.", "enum": [ "private_path_service_gateway", "provider_cloud_service", "provider_infrastructure_service" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "resource_type" ], "type": "object", "title": "EndpointGatewayTarget" }, "EndpointGatewayTargetPrototype": { "description": "The target to use for this endpoint gateway. The target:\n- Must not already be the target of another endpoint gateway in the VPC\n- Must not have a service endpoint that overlaps with any `service_endpoints` of\n another endpoint gateway in the VPC.\n\nIf `allow_dns_resolution_binding` is `true`, then there must not be another endpoint\ngateway with `allow_dns_resolution_binding` set to `true` in the [DNS\nsharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected topology that:\n- Has the same `target` as this endpoint gateway\n- Has `service_endpoints` that overlap with the `service_endpoints` for this endpoint\n gateway.", "oneOf": [ { "$ref": "#/components/schemas/EndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype" }, { "$ref": "#/components/schemas/EndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype" }, { "$ref": "#/components/schemas/EndpointGatewayTargetResourceTypeProviderCloudServicePrototype" } ], "properties": { "resource_type": { "description": "The target resource type for this endpoint gateway.", "enum": [ "private_path_service_gateway", "provider_cloud_service", "provider_infrastructure_service" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "EndpointGatewayTargetPrototype" }, "EndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype": { "properties": { "crn": { "description": "The CRN for this private path service gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "resource_type": { "description": "The target resource type for this endpoint gateway.", "enum": [ "private_path_service_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "resource_type" ], "type": "object", "title": "EndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype" }, "EndpointGatewayTargetResourceTypeProviderCloudServicePrototype": { "properties": { "crn": { "description": "The CRN for this provider cloud service, or the CRN for the user's instance of a\nprovider cloud service.", "example": "crn:v1:bluemix:public:cloudant:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:3527280b-9327-4411-8020-591092e60353::", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "resource_type": { "description": "The target resource type for this endpoint gateway.", "enum": [ "provider_cloud_service" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "resource_type" ], "type": "object", "title": "EndpointGatewayTargetResourceTypeProviderCloudServicePrototype" }, "EndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype": { "description": "The name of this provider infrastructure service.", "properties": { "name": { "description": "The name of a provider infrastructure service. Must be:\n- `ibm-ntp-server`: An NTP (Network Time Protocol) server provided by IBM", "example": "ibm-ntp-server", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The target resource type for this endpoint gateway.", "enum": [ "provider_infrastructure_service" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "name", "resource_type" ], "type": "object", "title": "EndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype" }, "EnterpriseIdentity": { "description": "Identifies an enterprise by a unique property.", "oneOf": [ { "$ref": "#/components/schemas/EnterpriseIdentityByCRN" } ], "type": "object", "title": "EnterpriseIdentity" }, "EnterpriseIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this enterprise", "example": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "EnterpriseIdentityByCRN" }, "EnterpriseReference": { "example": { "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce", "id": "ebc2b430240943458b9e91e1432cfcce", "resource_type": "enterprise" }, "properties": { "crn": { "description": "The CRN for this enterprise", "example": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "id": { "description": "The unique identifier for this enterprise", "example": "ebc2b430240943458b9e91e1432cfcce", "maxLength": 32, "minLength": 32, "pattern": "^[0-9a-f]{32}$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "enterprise" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "id", "resource_type" ], "type": "object", "title": "EnterpriseReference" }, "Error": { "properties": { "code": { "description": "A snake case string succinctly identifying the problem", "example": "missing_value", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the problem", "example": "The `zone.name` field is required.", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this error", "example": "https://console.bluemix.net/docs/iaas/instances.html#template", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "target": { "$ref": "#/components/schemas/ErrorTarget" } }, "required": [ "code", "message" ], "type": "object", "title": "Error" }, "ErrorContainer": { "properties": { "errors": { "description": "The errors that occurred.", "items": { "$ref": "#/components/schemas/Error" }, "type": "array" }, "trace": { "description": "The unique error identifier", "example": "b1fd1314d09b7aced81414f8f0f30f9a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-zA-Z_]+$", "type": "string" } }, "required": [ "errors", "trace" ], "type": "object", "title": "ErrorContainer" }, "ErrorTarget": { "properties": { "name": { "description": "The name of the problematic field, query parameter, or header", "example": "zone.name", "type": "string" }, "type": { "description": "The type of input where the problem was.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "field", "header", "parameter" ], "example": "field", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "If present, the problematic value within the field, query parameter, or header", "type": "string" } }, "required": [ "name", "type" ], "type": "object", "title": "ErrorTarget" }, "FloatingIP": { "example": { "address": "203.0.113.1", "created_at": "2024-10-15T12:08:05Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "status": "available", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "address": { "description": "The globally unique IP address", "example": "203.0.113.1", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "created_at": { "description": "The date and time that the floating IP was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this floating IP", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this floating IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this floating IP", "example": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this floating IP. The name is unique across all floating IPs in the\nregion.", "example": "my-floating-ip", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this floating IP" } ] }, "status": { "description": "The status of the floating IP.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "deleting", "failed", "pending" ], "example": "available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "target": { "$ref": "#/components/schemas/FloatingIPTarget" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this floating IP resides in" } ] } }, "required": [ "address", "created_at", "crn", "href", "id", "name", "resource_group", "status", "zone" ], "type": "object", "title": "FloatingIP" }, "FloatingIPByTarget": { "properties": { "target": { "$ref": "#/components/schemas/FloatingIPTargetPrototype" } }, "required": [ "target" ], "type": "object", "title": "FloatingIPByTarget" }, "FloatingIPByZone": { "properties": { "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this floating IP will reside in" } ] } }, "required": [ "zone" ], "type": "object", "title": "FloatingIPByZone" }, "FloatingIPCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips?limit=20" }, "floating_ips": [ { "address": "203.0.113.1", "created_at": "2024-10-15T12:08:05Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "status": "available", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "address": "203.0.113.1", "created_at": "2024-10-15T12:08:05Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "status": "available", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "address": "198.51.100.1", "created_at": "2024-10-15T12:08:05Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-64580c28-713a-4cda-9993-53bc6a529bb4", "id": "r006-64580c28-713a-4cda-9993-53bc6a529bb4", "name": "my-floating-ip-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "status": "available", "target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-primary-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "limit": 20, "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips?limit=20" } }, "floating_ips": { "description": "A page of floating IPs", "items": { "$ref": "#/components/schemas/FloatingIP" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "floating_ips", "limit", "total_count" ], "type": "object", "title": "FloatingIPCollection" }, "FloatingIPCollectionVirtualNetworkInterfaceContext": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef/floating_ips?limit=50" }, "floating_ips": [ { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" } ], "limit": 50, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9/floating_ips?limit=20" } }, "floating_ips": { "description": "A page of floating IPs bound to the virtual network interface specified by the\nidentifier in the URL", "items": { "$ref": "#/components/schemas/FloatingIPReference" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9/floating_ips?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "floating_ips", "limit", "total_count" ], "type": "object", "title": "FloatingIPCollectionVirtualNetworkInterfaceContext" }, "FloatingIPIdentity": { "description": "Identifies a floating IP by a unique property.", "example": { "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd" }, "oneOf": [ { "$ref": "#/components/schemas/FloatingIPIdentityById" }, { "$ref": "#/components/schemas/FloatingIPIdentityByCRN" }, { "$ref": "#/components/schemas/FloatingIPIdentityByHref" }, { "$ref": "#/components/schemas/FloatingIPIdentityByAddress" } ], "type": "object", "title": "FloatingIPIdentity" }, "FloatingIPIdentityByAddress": { "properties": { "address": { "description": "The globally unique IP address", "example": "203.0.113.1", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" } }, "required": [ "address" ], "type": "object", "title": "FloatingIPIdentityByAddress" }, "FloatingIPIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this floating IP", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "FloatingIPIdentityByCRN" }, "FloatingIPIdentityByHref": { "properties": { "href": { "description": "The URL for this floating IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "FloatingIPIdentityByHref" }, "FloatingIPIdentityById": { "properties": { "id": { "description": "The unique identifier for this floating IP", "example": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "FloatingIPIdentityById" }, "FloatingIPPatch": { "properties": { "name": { "description": "The name for this floating IP. The name must not be used by another floating IP in the\nregion.", "example": "my-floating-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "target": { "$ref": "#/components/schemas/FloatingIPTargetPatch" } }, "type": "object", "title": "FloatingIPPatch" }, "FloatingIPPrototype": { "example": { "name": "my-floating-ip", "target": { "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef" } }, "not": { "$ref": "#/components/schemas/FloatingIPIdentity" }, "oneOf": [ { "$ref": "#/components/schemas/FloatingIPByZone" }, { "$ref": "#/components/schemas/FloatingIPByTarget" } ], "properties": { "name": { "description": "The name for this floating IP. The name must not be used by another floating IP in the\nregion. If unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-floating-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "type": "object", "title": "FloatingIPPrototype" }, "FloatingIPPrototypeTargetContext": { "not": { "$ref": "#/components/schemas/FloatingIPIdentity" }, "properties": { "name": { "description": "The name for this floating IP. The name must not be used by another floating IP in the\nregion. If unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-floating-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "type": "object", "title": "FloatingIPPrototypeTargetContext" }, "FloatingIPReference": { "example": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "properties": { "address": { "description": "The globally unique IP address", "example": "203.0.113.1", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "crn": { "description": "The CRN for this floating IP", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this floating IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this floating IP", "example": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this floating IP. The name is unique across all floating IPs in the\nregion.", "example": "my-floating-ip", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "address", "crn", "href", "id", "name" ], "type": "object", "title": "FloatingIPReference" }, "FloatingIPTarget": { "description": "The target of this floating IP", "oneOf": [ { "$ref": "#/components/schemas/NetworkInterfaceReference" }, { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceReference" }, { "$ref": "#/components/schemas/PublicGatewayReference" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceReference" } ], "type": "object", "title": "FloatingIPTarget" }, "FloatingIPTargetPatch": { "anyOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceIdentity" }, { "$ref": "#/components/schemas/NetworkInterfaceIdentity" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" } ], "description": "The target resource to bind this floating IP to, replacing any existing binding.\nThe floating IP must not be required by another resource, such as a public gateway.\n\nThe target resource must not already have a floating IP bound to it if the target\nresource is:\n\n- an instance network interface\n- a bare metal server network interface with `enable_infrastructure_nat` set to `true`\n- a virtual network interface with `enable_infrastructure_nat` set to `true`\n\nSpecify `null` to remove an existing binding.", "maxProperties": 1, "nullable": true, "type": "object", "title": "FloatingIPTargetPatch" }, "FloatingIPTargetPrototype": { "anyOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceIdentity" }, { "$ref": "#/components/schemas/NetworkInterfaceIdentity" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" } ], "description": "The target resource to bind this floating IP to.\n\nThe target resource must not already have a floating IP bound to it if the target\nresource is:\n\n- an instance network interface\n- a bare metal server network interface with `enable_infrastructure_nat` set to `true`\n- a virtual network interface with `enable_infrastructure_nat` set to `true`", "maxProperties": 1, "type": "object", "title": "FloatingIPTargetPrototype" }, "FloatingIPUnpaginatedCollection": { "example": { "floating_ips": [ { "address": "203.0.113.1", "created_at": "2024-10-15T12:08:05Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "status": "available", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ] }, "properties": { "floating_ips": { "description": "The floating IPs", "items": { "$ref": "#/components/schemas/FloatingIP" }, "type": "array" } }, "required": [ "floating_ips" ], "type": "object", "title": "FloatingIPUnpaginatedCollection" }, "FlowLogCollector": { "example": { "active": true, "auto_delete": true, "created_at": "2024-11-06T12:08:05Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::flow-log-collector:r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors/r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "id": "r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "lifecycle_state": "stable", "name": "my-flow-log-collector", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "storage_bucket": { "name": "bucket-27200-lwx4cfvcue" }, "target": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "active": { "description": "Indicates whether this collector is active.", "example": true, "type": "boolean" }, "auto_delete": { "description": "Indicates whether this flow log collector will be automatically deleted when `target`\nis deleted. At present, this is always `true`, but may be modifiable in the future.", "example": true, "type": "boolean" }, "created_at": { "description": "The date and time that the flow log collector was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this flow log collector", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::flow-log-collector:r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this flow log collector", "example": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors/r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this flow log collector", "example": "r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the flow log collector" } ] }, "name": { "description": "The name for this flow log collector. The name is unique across all flow log\ncollectors in the VPC.", "example": "my-flow-log-collector", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this flow log collector" } ] }, "storage_bucket": { "allOf": [ { "$ref": "#/components/schemas/LegacyCloudObjectStorageBucketReference" }, { "description": "The Cloud Object Storage bucket where the collected flows are logged. For more\ninformation, see [Viewing flow log\nobjects](https://cloud.ibm.com/docs/vpc?topic=vpc-fl-analyze)." } ] }, "target": { "$ref": "#/components/schemas/FlowLogCollectorTarget" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this flow log collector resides in" } ] } }, "required": [ "active", "auto_delete", "created_at", "crn", "href", "id", "lifecycle_state", "name", "resource_group", "storage_bucket", "target", "vpc" ], "type": "object", "title": "FlowLogCollector" }, "FlowLogCollectorCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors?limit=50" }, "flow_log_collectors": [ { "active": true, "auto_delete": true, "created_at": "2024-11-06T12:08:05Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::flow-log-collector:r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors/r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "id": "r006-ad0cded3-53a3-4d4a-9809-8c59b50d2b80", "lifecycle_state": "stable", "name": "my-flow-log-collector", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "storage_bucket": { "name": "bucket-27200-lwx4cfvcue" }, "target": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "active": true, "auto_delete": true, "created_at": "2024-11-07T12:45:05Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::flow-log-collector:r006-242746f7-7f1c-4dd6-915d-150a9b48a743", "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors/r006-242746f7-7f1c-4dd6-915d-150a9b48a743", "id": "r006-242746f7-7f1c-4dd6-915d-150a9b48a743", "lifecycle_state": "stable", "name": "my-flow-log-collector-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "storage_bucket": { "name": "bucket-27200-lwx4cfvcue" }, "target": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ], "limit": 50, "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors?limit=20" } }, "flow_log_collectors": { "description": "A page of flow log collectors", "items": { "$ref": "#/components/schemas/FlowLogCollector" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "flow_log_collectors", "limit", "total_count" ], "type": "object", "title": "FlowLogCollectorCollection" }, "FlowLogCollectorPatch": { "properties": { "active": { "description": "Indicates whether this collector is active. Updating to false deactivates the\ncollector and updating to true activates the collector.", "example": true, "type": "boolean" }, "name": { "description": "The name for this flow log collector. The name must not be used by another flow log\ncollector in the VPC.", "example": "my-flow-log-collector", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "FlowLogCollectorPatch" }, "FlowLogCollectorPrototype": { "properties": { "active": { "default": true, "description": "Indicates whether this collector will be active upon creation.", "example": false, "type": "boolean" }, "name": { "description": "The name for this flow log collector. The name must not be used by another flow log\ncollector in the VPC. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-flow-log-collector", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "storage_bucket": { "allOf": [ { "$ref": "#/components/schemas/LegacyCloudObjectStorageBucketIdentity" }, { "description": "The Cloud Object Storage bucket where the collected flows will be logged.\nThe bucket must exist and an IAM service authorization must grant\n`IBM Cloud Flow Logs` resources of `VPC Infrastructure Services` writer\naccess to the bucket. For more information, see [Creating a flow log\ncollector](https://cloud.ibm.com/docs/vpc?topic=vpc-ordering-flow-log-collector)." } ] }, "target": { "$ref": "#/components/schemas/FlowLogCollectorTargetPrototype" } }, "required": [ "storage_bucket", "target" ], "type": "object", "title": "FlowLogCollectorPrototype" }, "FlowLogCollectorTarget": { "anyOf": [ { "$ref": "#/components/schemas/NetworkInterfaceReferenceTargetContext" }, { "$ref": "#/components/schemas/InstanceReference" }, { "$ref": "#/components/schemas/SubnetReference" }, { "$ref": "#/components/schemas/VPCReference" }, { "$ref": "#/components/schemas/InstanceNetworkAttachmentReference" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceReferenceAttachmentContext" } ], "description": "The target this collector is collecting flow logs for.\n\n- If the target is an instance network attachment, flow logs will be collected\n for that instance network attachment.\n- If the target is an instance network interface, flow logs will be collected\n for that instance network interface.\n- If the target is a virtual network interface, flow logs will be collected for the\n virtual network interface's `target` resource if the resource is an instance network\n attachment, unless the target resource is itself the target of a flow log collector.\n- If the target is a virtual server instance, flow logs will be collected\n for all network attachments or network interfaces on that instance.\n- If the target is a subnet, flow logs will be collected\n for all instance network interfaces and virtual network interfaces\n attached to that subnet.\n- If the target is a VPC, flow logs will be collected for all instance network\n interfaces and virtual network interfaces attached to all subnets within that VPC.\n\nIf the target is an instance, subnet, or VPC, flow logs will not be collected\nfor any instance network attachments or instance network interfaces within the target\nthat are themselves the target of a more specific flow log collector.", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "type": "object", "title": "FlowLogCollectorTarget" }, "FlowLogCollectorTargetPrototype": { "anyOf": [ { "$ref": "#/components/schemas/NetworkInterfaceIdentity" }, { "$ref": "#/components/schemas/InstanceIdentity" }, { "$ref": "#/components/schemas/SubnetIdentity" }, { "$ref": "#/components/schemas/VPCIdentity" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" }, { "$ref": "#/components/schemas/InstanceNetworkAttachmentIdentity" } ], "description": "The target this collector will collect flow logs for.\n\nIf the target is an instance, subnet, or VPC, flow logs will not be collected for any\ninstance network attachments, virtual network interfaces or instance network interfaces\nwithin the target that are themselves the target of a more specific flow log collector.\n\nThe target must not be a virtual network interface that is attached to a bare metal server\nnetwork attachment or to a file share mount target.", "example": { "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e" }, "maxProperties": 1, "type": "object", "title": "FlowLogCollectorTargetPrototype" }, "FullyQualifiedDomainNameWithOptionalWildcardPrefix": { "description": "A fully qualified domain name for this resource that permits an optional wildcard prefix", "example": "*.example.com", "maxLength": 255, "minLength": 4, "pattern": "^(\\*\\.)?((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string", "title": "FullyQualifiedDomainNameWithOptionalWildcardPrefix" }, "GenericResourceReference": { "deprecated": true, "description": "Identifying information for a resource that is not native to the VPC API.", "properties": { "crn": { "description": "The CRN for the resource", "example": "crn:v1:bluemix:public:containers-kubernetes:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:9qtrw1peys2spdfs7agb::", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "resource_type": { "description": "The resource type", "enum": [ "cloud_resource" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "resource_type" ], "type": "object", "title": "GenericResourceReference" }, "HTTPRedirectStatusCode": { "description": "The HTTP status code for this redirect.", "enum": [ 301, 302, 303, 307, 308 ], "type": "integer", "title": "HTTPRedirectStatusCode" }, "HealthState": { "description": "The health of this resource:\n- `ok`: No abnormal behavior detected\n- `degraded`: Experiencing compromised performance, capacity, or connectivity\n- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated\n- `inapplicable`: The health state does not apply because of the current lifecycle\n state. A resource with a lifecycle state of `failed` or `deleting` will have a\n health state of `inapplicable`. A `pending` resource may also have this state.", "enum": [ "degraded", "faulted", "inapplicable", "ok" ], "example": "ok", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "HealthState" }, "ID": { "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string", "title": "ID" }, "IDOrWildcard": { "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$|^-$", "type": "string", "title": "IDOrWildcard" }, "IKEPolicy": { "example": { "authentication_algorithm": "sha256", "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "encryption_algorithm": "aes256", "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 1, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" }, "properties": { "authentication_algorithm": { "description": "The authentication algorithm.\n\nThe `md5` and `sha1` algorithms have been deprecated.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "md5", "sha1", "sha256", "sha384", "sha512" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "connections": { "description": "The VPN gateway connections that use this IKE policy.", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionReference" }, "type": "array" }, "created_at": { "description": "The date and time that this IKE policy was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "dh_group": { "description": "The Diffie-Hellman group\n\nGroups `2` and `5` have been deprecated", "enum": [ 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 31, 5 ], "type": "integer" }, "encryption_algorithm": { "description": "The encryption algorithm.\n\nThe `triple_des` algorithm has been deprecated.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "aes128", "aes192", "aes256", "triple_des" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this IKE policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this IKE policy", "example": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ike_version": { "description": "The IKE protocol version", "enum": [ 1, 2 ], "type": "integer" }, "key_lifetime": { "description": "The key lifetime in seconds", "example": 28800, "maximum": 86400, "minimum": 1800, "type": "integer" }, "name": { "description": "The name for this IKE policy. The name is unique across all IKE policies in the\nregion.", "example": "my-ike-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "negotiation_mode": { "description": "The IKE negotiation mode.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "main" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this IKE policy" } ] }, "resource_type": { "description": "The resource type", "enum": [ "ike_policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "authentication_algorithm", "connections", "created_at", "dh_group", "encryption_algorithm", "href", "id", "ike_version", "key_lifetime", "name", "negotiation_mode", "resource_group", "resource_type" ], "type": "object", "title": "IKEPolicy" }, "IKEPolicyCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies?limit=50" }, "ike_policies": [ { "authentication_algorithm": "sha256", "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "encryption_algorithm": "aes256", "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 1, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" }, { "authentication_algorithm": "sha256", "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-10T02:20:15.267863Z", "dh_group": 14, "encryption_algorithm": "aes256", "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-53ebcf53-2ee4-4a26-ba2c-afc62091a148", "id": "r006-53ebcf53-2ee4-4a26-ba2c-afc62091a148", "ike_version": 1, "key_lifetime": 28800, "name": "my-ike-policy-2", "negotiation_mode": "main", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" } ], "limit": 50, "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies?limit=20" } }, "ike_policies": { "description": "A page of IKE policies", "items": { "$ref": "#/components/schemas/IKEPolicy" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "ike_policies", "limit", "total_count" ], "type": "object", "title": "IKEPolicyCollection" }, "IKEPolicyConnectionCollection": { "example": { "connections": [ { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-09T15:38:07.172928Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "bidirectional", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection-2", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-09T15:38:07.172928Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "bidirectional", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection-2", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d/connections?limit=20" }, "limit": 20, "total_count": 2 }, "properties": { "connections": { "description": "A page of VPN gateway connections that use the IKE policy specified by the\nidentifier in the URL", "items": { "$ref": "#/components/schemas/VPNGatewayConnection" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d/connections?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d/connections?start=c6d339ad873241c4acc936dfcff3f6d2&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "connections", "first", "limit", "total_count" ], "type": "object", "title": "IKEPolicyConnectionCollection" }, "IKEPolicyIdentity": { "description": "Identifies an IKE policy by a unique property.", "example": { "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d" }, "oneOf": [ { "$ref": "#/components/schemas/IKEPolicyIdentityById" }, { "$ref": "#/components/schemas/IKEPolicyIdentityByHref" } ], "type": "object", "title": "IKEPolicyIdentity" }, "IKEPolicyIdentityByHref": { "properties": { "href": { "description": "The URL for this IKE policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "IKEPolicyIdentityByHref" }, "IKEPolicyIdentityById": { "properties": { "id": { "description": "The unique identifier for this IKE policy", "example": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "IKEPolicyIdentityById" }, "IKEPolicyPatch": { "properties": { "authentication_algorithm": { "description": "The authentication algorithm.", "enum": [ "sha256", "sha384", "sha512" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "dh_group": { "description": "The Diffie-Hellman group", "enum": [ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 31 ], "type": "integer" }, "encryption_algorithm": { "description": "The encryption algorithm", "enum": [ "aes128", "aes192", "aes256" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ike_version": { "description": "The IKE protocol version", "enum": [ 1, 2 ], "type": "integer" }, "key_lifetime": { "description": "The key lifetime in seconds", "example": 28800, "maximum": 86400, "minimum": 1800, "type": "integer" }, "name": { "description": "The name for this IKE policy. The name must not be used by another IKE policy in the\nregion.", "example": "my-ike-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "IKEPolicyPatch" }, "IKEPolicyPrototype": { "properties": { "authentication_algorithm": { "description": "The authentication algorithm.", "enum": [ "sha256", "sha384", "sha512" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "dh_group": { "description": "The Diffie-Hellman group", "enum": [ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 31 ], "type": "integer" }, "encryption_algorithm": { "description": "The encryption algorithm", "enum": [ "aes128", "aes192", "aes256" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ike_version": { "description": "The IKE protocol version", "enum": [ 1, 2 ], "type": "integer" }, "key_lifetime": { "default": 28800, "description": "The key lifetime in seconds", "example": 28800, "maximum": 86400, "minimum": 1800, "type": "integer" }, "name": { "description": "The name for this IKE policy. The name must not be used by another IKE policies in the\nregion. If unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-ike-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "required": [ "authentication_algorithm", "dh_group", "encryption_algorithm", "ike_version" ], "type": "object", "title": "IKEPolicyPrototype" }, "IKEPolicyReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this IKE policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this IKE policy", "example": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this IKE policy. The name is unique across all IKE policies in the\nregion.", "example": "my-ike-policy", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "ike_policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "IKEPolicyReference" }, "IP": { "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/IPv4" } ], "description": "The IP address.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future." } }, "required": [ "address" ], "type": "object", "title": "IP" }, "IPsecPolicy": { "example": { "authentication_algorithm": "sha256", "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "aes256", "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 28800, "name": "my-ipsec-policy", "pfs": "disabled", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" }, "properties": { "authentication_algorithm": { "description": "The authentication algorithm\n\nThe `md5` and `sha1` algorithms have been deprecated\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "disabled", "md5", "sha1", "sha256", "sha384", "sha512" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "connections": { "description": "The VPN gateway connections that use this IPsec policy.", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionReference" }, "type": "array" }, "created_at": { "description": "The date and time that this IPsec policy was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "encapsulation_mode": { "description": "The encapsulation mode used.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "tunnel" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_algorithm": { "description": "The encryption algorithm\n\nThe `triple_des` algorithm has been deprecated\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "aes128", "aes128gcm16", "aes192", "aes192gcm16", "aes256", "aes256gcm16", "triple_des" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this IPsec policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this IPsec policy", "example": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "key_lifetime": { "description": "The key lifetime in seconds", "example": 3600, "maximum": 86400, "minimum": 1800, "type": "integer" }, "name": { "description": "The name for this IPsec policy. The name is unique across all IPsec policies in the\nregion.", "example": "my-ipsec-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "pfs": { "description": "The Perfect Forward Secrecy group\n\nGroups `group_2` and `group_5` have been deprecated\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "disabled", "group_14", "group_15", "group_16", "group_17", "group_18", "group_19", "group_2", "group_20", "group_21", "group_22", "group_23", "group_24", "group_31", "group_5" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this IPsec policy" } ] }, "resource_type": { "description": "The resource type", "enum": [ "ipsec_policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "transform_protocol": { "description": "The transform protocol used.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "esp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "authentication_algorithm", "connections", "created_at", "encapsulation_mode", "encryption_algorithm", "href", "id", "key_lifetime", "name", "pfs", "resource_group", "resource_type", "transform_protocol" ], "type": "object", "title": "IPsecPolicy" }, "IPsecPolicyCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies?limit=50" }, "ipsec_policies": [ { "authentication_algorithm": "sha256", "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "aes256", "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 28800, "name": "my-ipsec-policy", "pfs": "disabled", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" }, { "authentication_algorithm": "disabled", "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-10T11:16:08.105785Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "aes192gcm16", "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-a4c47690-bc52-45df-9bbd-a1f2b814a8ac", "id": "r006-a4c47690-bc52-45df-9bbd-a1f2b814a8ac", "key_lifetime": 3600, "name": "my-ipsec-policy-2", "pfs": "group_23", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" } ], "limit": 50, "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies?limit=20" } }, "ipsec_policies": { "description": "A page of IPsec policies", "items": { "$ref": "#/components/schemas/IPsecPolicy" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "ipsec_policies", "limit", "total_count" ], "type": "object", "title": "IPsecPolicyCollection" }, "IPsecPolicyConnectionCollection": { "example": { "connections": [ { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-09T15:38:07.172928Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "bidirectional", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection-2", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-09T15:38:07.172928Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "bidirectional", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection-2", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876/connections?limit=20" }, "limit": 20, "total_count": 2 }, "properties": { "connections": { "description": "A page of VPN gateway connections that use the IPsec policy specified by\nthe identifier in the URL", "items": { "$ref": "#/components/schemas/VPNGatewayConnection" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876/connections?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876/connections?start=250337b8fa72455c962e-c23e5706d452&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "connections", "first", "limit", "total_count" ], "type": "object", "title": "IPsecPolicyConnectionCollection" }, "IPsecPolicyIdentity": { "description": "Identifies an IPsec policy by a unique property.", "example": { "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876" }, "oneOf": [ { "$ref": "#/components/schemas/IPsecPolicyIdentityById" }, { "$ref": "#/components/schemas/IPsecPolicyIdentityByHref" } ], "type": "object", "title": "IPsecPolicyIdentity" }, "IPsecPolicyIdentityByHref": { "properties": { "href": { "description": "The URL for this IPsec policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "IPsecPolicyIdentityByHref" }, "IPsecPolicyIdentityById": { "properties": { "id": { "description": "The unique identifier for this IPsec policy", "example": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "IPsecPolicyIdentityById" }, "IPsecPolicyPatch": { "properties": { "authentication_algorithm": { "description": "The authentication algorithm\n\nMust be `disabled` if and only if the `encryption_algorithm` is `aes128gcm16`,\n`aes192gcm16`, or `aes256gcm16`\n\nThe `md5` and `sha1` algorithms have been deprecated", "enum": [ "disabled", "sha256", "sha384", "sha512" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_algorithm": { "description": "The encryption algorithm\n\nThe `authentication_algorithm` must be `disabled` if and only if\n`encryption_algorithm` is `aes128gcm16`, `aes192gcm16`, or `aes256gcm16`\n\nThe `triple_des` algorithm has been deprecated", "enum": [ "aes128", "aes128gcm16", "aes192", "aes192gcm16", "aes256", "aes256gcm16" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "key_lifetime": { "description": "The key lifetime in seconds", "example": 3600, "maximum": 86400, "minimum": 1800, "type": "integer" }, "name": { "description": "The name for this IPsec policy. The name must not be used by another IPsec policy in\nthe region.", "example": "my-ipsec-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "pfs": { "description": "The Perfect Forward Secrecy group.\n\nGroups `group_2` and `group_5` have been deprecated", "enum": [ "disabled", "group_14", "group_15", "group_16", "group_17", "group_18", "group_19", "group_20", "group_21", "group_22", "group_23", "group_24", "group_31" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "IPsecPolicyPatch" }, "IPsecPolicyPrototype": { "properties": { "authentication_algorithm": { "description": "The authentication algorithm\n\nMust be `disabled` if and only if the `encryption_algorithm` is `aes128gcm16`,\n`aes192gcm16`, or `aes256gcm16`\n\nThe `md5` and `sha1` algorithms have been deprecated", "enum": [ "disabled", "sha256", "sha384", "sha512" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_algorithm": { "description": "The encryption algorithm\n\nThe `authentication_algorithm` must be `disabled` if and only if\n`encryption_algorithm` is `aes128gcm16`, `aes192gcm16`, or `aes256gcm16`\n\nThe `triple_des` algorithm has been deprecated", "enum": [ "aes128", "aes128gcm16", "aes192", "aes192gcm16", "aes256", "aes256gcm16" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "key_lifetime": { "default": 3600, "description": "The key lifetime in seconds", "example": 3600, "maximum": 86400, "minimum": 1800, "type": "integer" }, "name": { "description": "The name for this IPsec policy. The name must not be used by another IPsec policies in\nthe region. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-ipsec-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "pfs": { "description": "The Perfect Forward Secrecy group.\n\nGroups `group_2` and `group_5` have been deprecated", "enum": [ "disabled", "group_14", "group_15", "group_16", "group_17", "group_18", "group_19", "group_20", "group_21", "group_22", "group_23", "group_24", "group_31" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "required": [ "authentication_algorithm", "encryption_algorithm", "pfs" ], "type": "object", "title": "IPsecPolicyPrototype" }, "IPsecPolicyReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this IPsec policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this IPsec policy", "example": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this IPsec policy. The name is unique across all IPsec policies in the\nregion.", "example": "my-ipsec-policy", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "ipsec_policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "IPsecPolicyReference" }, "IPv4": { "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string", "title": "IPv4" }, "Image": { "example": { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "catalog_offering": { "managed": false }, "created_at": "2024-09-13T09:06:26Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "encryption": "none", "file": {}, "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "minimum_provisioned_size": 100, "name": "my-image", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "image", "status": "available", "status_reasons": [], "user_data_format": "cloud_init", "visibility": "private" }, "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/ImageAllowedUse" } ], "description": "The usage constraints to match against the requested instance or bare metal server\nproperties to determine compatibility." }, "catalog_offering": { "$ref": "#/components/schemas/ImageCatalogOffering" }, "created_at": { "description": "The date and time that the image was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this image", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deprecation_at": { "description": "The deprecation date and time (UTC) for this image.\n\nIf absent, no deprecation date and time has been set.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "encryption": { "description": "The type of encryption used on the image", "enum": [ "none", "user_managed" ], "example": "user_managed", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyReference" } ], "description": "The key that will be used to encrypt volumes created from this image (unless an\nalternate `encryption_key` is specified at volume creation).\n\nThis property will be present for images with an `encryption` type of `user_managed`." }, "file": { "allOf": [ { "$ref": "#/components/schemas/ImageFile" }, { "description": "The metadata for the imported image file." } ] }, "href": { "description": "The URL for this image", "example": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this image", "example": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "minimum_provisioned_size": { "description": "The minimum size (in gigabytes) of a volume onto which this image may be provisioned.\n\nThis property may be absent if the image has a `status` of `pending` or `failed`.", "type": "integer" }, "name": { "description": "The name for this image. The name is unique across all images in the region.", "example": "my-image", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "obsolescence_at": { "description": "The obsolescence date and time (UTC) for this image.\n\nIf absent, no obsolescence date and time has been set.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "operating_system": { "allOf": [ { "$ref": "#/components/schemas/OperatingSystem" }, { "description": "The operating system included in this image" } ] }, "remote": { "$ref": "#/components/schemas/ImageRemote" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this image" } ] }, "resource_type": { "description": "The resource type", "enum": [ "image" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source_volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeReference" }, { "description": "The volume used to create this image (this may be\n[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).\nIf absent, this image was not created from a volume." } ] }, "status": { "description": "The status of this image:\n- available: image can be used to create resources\n- deleting: image is being deleted, and can no longer be used to create\n resources\n- deprecated: image is slated to be deleted, but can still be used to create\n resources\n- failed: image was not created successfully, and cannot be used to create\n resources\n- obsolete: image is slated to be deleted, and can no longer be used to create\n resources\n- pending: image is being imported, and cannot yet be used to create resources\n- unusable: image cannot be used (see `status_reasons[]` for possible remediation)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "deleting", "deprecated", "failed", "obsolete", "pending", "unusable" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/ImageStatusReason" }, "minItems": 0, "type": "array" }, "user_data_format": { "allOf": [ { "$ref": "#/components/schemas/ImageUserDataFormat" } ], "description": "The user data format for this image:\n- `cloud_init`: `user_data` will be interpreted according to the cloud-init standard\n- `esxi_kickstart`: `user_data` will be interpreted as a VMware ESXi installation script\n- `ipxe`: `user_data` will be interpreted as a single URL to an iPXE script or as the\n text of an iPXE script\n\nThe value for this property is inherited from `operating_system.user_data_format`." }, "visibility": { "$ref": "#/components/schemas/ImageVisibility" } }, "required": [ "allowed_use", "catalog_offering", "created_at", "crn", "encryption", "file", "href", "id", "name", "operating_system", "resource_group", "resource_type", "status", "status_reasons", "user_data_format", "visibility" ], "type": "object", "title": "Image" }, "ImageAllowedUse": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using this image.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `BareMetalServer` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server instance\nprovisioned using this image.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "required": [ "api_version", "bare_metal_server", "instance" ], "type": "object", "title": "ImageAllowedUse" }, "ImageAllowedUsePatch": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.\n\nIf specified, the value must be between `2019-01-01` and today's date (in UTC).", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using this image.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure\nboot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server\ninstance provisioned using this image.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure\nboot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "type": "object", "title": "ImageAllowedUsePatch" }, "ImageAllowedUsePrototype": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.\n\nIf specified, the value must be between `2019-01-01` and today's date (in UTC).\nIf unspecified, the `version` query parameter value will be used.", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using this image.\n\nIf unspecified, the expression will be set to `true`.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure\nboot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server\ninstance provisioned using this image.\n\nIf unspecified, the expression will be set to `true`.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure\nboot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "type": "object", "title": "ImageAllowedUsePrototype" }, "ImageBareMetalServerProfileCollection": { "example": { "bare_metal_server_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2d-metal-192x768", "name": "bx2d-metal-192x768", "resource_type": "bare_metal_server_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768", "name": "bx2-metal-192x768", "resource_type": "bare_metal_server_profile" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/bare_metal_server_profiles?limit=50" }, "limit": 50, "total_count": 2 }, "properties": { "bare_metal_server_profiles": { "description": "A page of bare metal server profiles compatible with the image", "items": { "$ref": "#/components/schemas/BareMetalServerProfileReference" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/bare_metal_server_profiles?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/bare_metal_server_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "bare_metal_server_profiles", "first", "limit", "total_count" ], "type": "object", "title": "ImageBareMetalServerProfileCollection" }, "ImageByFile": { "properties": { "encrypted_data_key": { "description": "A base64-encoded, encrypted representation of the key that was used to encrypt the data\nfor this image.\n\nThat representation is created by wrapping the key's value with the `encryption_key`\nroot key (which must also be specified), using either [Key\nProtect](https://cloud.ibm.com/docs/key-protect?topic=key-protect-wrap-keys) or the\n[Hyper Protect Crypto\nServices](https://cloud.ibm.com/docs/services/hs-crypto?topic=hs-crypto-wrap-keys).\n\nIf unspecified, the imported image is treated as unencrypted.", "maxLength": 7184, "minLength": 4, "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$", "type": "string" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" } ], "description": "The root key that was used to wrap the data key (which is ultimately represented as\n`encrypted_data_key`). Additionally, the root key will be used to encrypt volumes\ncreated from this image (unless an alternate `encryption_key` is specified at volume\ncreation).\n\nIf unspecified, the imported image is treated as unencrypted." }, "file": { "allOf": [ { "$ref": "#/components/schemas/ImageFilePrototype" }, { "description": "The file from which to create the image" } ] }, "operating_system": { "allOf": [ { "$ref": "#/components/schemas/OperatingSystemIdentity" }, { "description": "The [supported operating\nsystem](https://cloud.ibm.com/apidocs/vpc#list-operating-systems) included in this\nimage." } ] } }, "required": [ "file", "operating_system" ], "type": "object", "title": "ImageByFile" }, "ImageBySourceVolume": { "properties": { "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" } ], "description": "The root key used to wrap the system-generated data encryption key for the image.\n\nIf unspecified, the root key from `source_volume` will be used." }, "source_volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeIdentity" }, { "description": "The volume from which to create the image. The specified volume must:\n- Have an `operating_system`, which will be used to populate this image's\n operating system information.\n- Not be `active` or `busy`.\n\nDuring image creation, the specified volume may briefly become `busy`." } ] } }, "required": [ "source_volume" ], "type": "object", "title": "ImageBySourceVolume" }, "ImageCatalogOffering": { "properties": { "managed": { "description": "Indicates whether this image is managed as part of a\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering.\nIf an image is managed, accounts with access to that catalog can specify the image's\ncatalog offering version CRN to provision virtual server instances using the image.", "type": "boolean" }, "version": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionReference" } ], "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering version associated with this image.\n\nIf absent, this image is not associated with a cloud catalog offering." } }, "required": [ "managed" ], "type": "object", "title": "ImageCatalogOffering" }, "ImageCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images?limit=50" }, "images": [ { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "catalog_offering": { "managed": false }, "created_at": "2024-09-13T09:06:26Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "encryption": "none", "file": {}, "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "minimum_provisioned_size": 100, "name": "my-image", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "image", "status": "available", "status_reasons": [], "user_data_format": "cloud_init", "visibility": "private" }, { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "catalog_offering": { "managed": false }, "created_at": "2024-10-01T18:41:39Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-03a9687a-5e4c-4824-b509-ee5ade1ba74f", "encryption": "none", "file": {}, "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-03a9687a-5e4c-4824-b509-ee5ade1ba74f", "id": "r006-03a9687a-5e4c-4824-b509-ee5ade1ba74f", "minimum_provisioned_size": 100, "name": "my-image-2", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Debian GNU/Linux 9.x Stretch/Stable - Minimal Install (amd64)", "family": "Debian GNU/Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/debian-9-amd64", "name": "debian-9-amd64", "user_data_format": "cloud_init", "vendor": "Debian", "version": "9.x Stretch/Stable - Minimal Install" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "image", "status": "available", "status_reasons": [], "user_data_format": "cloud_init", "visibility": "private" }, { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "catalog_offering": { "managed": false }, "created_at": "2024-09-19T17:12:55Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-a2604d13-cacc-45af-9619-515cc6aa763c", "encryption": "none", "file": {}, "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-a2604d13-cacc-45af-9619-515cc6aa763c", "id": "r006-a2604d13-cacc-45af-9619-515cc6aa763c", "minimum_provisioned_size": 100, "name": "my-image-3", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 16.04 LTS Xenial Xerus Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-16-04-amd64", "name": "ubuntu-16-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "16.04 LTS Xenial Xerus Minimal Install" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "image", "status": "available", "status_reasons": [], "user_data_format": "cloud_init", "visibility": "private" } ], "limit": 50, "total_count": 3 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images?limit=20" } }, "images": { "description": "A page of images", "items": { "$ref": "#/components/schemas/Image" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "images", "limit", "total_count" ], "type": "object", "title": "ImageCollection" }, "ImageExportJob": { "example": { "created_at": "2024-12-09T01:09:02.000Z", "format": "qcow2", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8/export_jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a", "id": "r006-095e9baf-01d4-4e29-986e-20d26606b82a", "name": "my-image-export", "resource_type": "image_export_job", "status": "queued", "status_reasons": [], "storage_bucket": { "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue", "name": "bucket-27200-lwx4cfvcue" }, "storage_href": "cos://us-south/bucket-27200-lwx4cfvcue/my-image-export.qcow2", "storage_object": { "name": "my-image-export.qcow2" } }, "properties": { "completed_at": { "description": "The date and time that the image export job was completed.\n\nIf absent, the export job has not yet completed.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "created_at": { "description": "The date and time that the image export job was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "encrypted_data_key": { "description": "A base64-encoded, encrypted representation of the key that was used to encrypt the data\nfor the exported image. This key can be unwrapped with the image's `encryption_key` root\nkey using either Key Protect or Hyper Protect Crypto Services.\n\nIf absent, the export job is for an unencrypted image.", "format": "byte", "maxLength": 7184, "minLength": 4, "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$", "type": "string" }, "format": { "allOf": [ { "$ref": "#/components/schemas/ImageFormat" } ], "description": "The format of the exported image." }, "href": { "description": "The URL for this image export job", "example": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8/export_jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this image export job", "example": "r006-095e9baf-01d4-4e29-986e-20d26606b82a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this image export job. The name must not be used by another export job for\nthe image. Changing the name will not affect the exported image name,\n`storage_object.name`, or `storage_href` values.", "example": "my-image-export-job", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "image_export_job" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "started_at": { "description": "The date and time that the image export job started running.\n\nIf absent, the export job has not yet started.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "status": { "description": "The status of this image export job:\n- `deleting`: Export job is being deleted\n- `failed`: Export job could not be completed successfully\n- `queued`: Export job is queued\n- `running`: Export job is in progress\n- `succeeded`: Export job was completed successfully\n\nThe exported image object is automatically deleted for `failed` jobs.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "deleting", "failed", "queued", "running", "succeeded" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/ImageExportJobStatusReason" }, "minItems": 0, "type": "array" }, "storage_bucket": { "allOf": [ { "$ref": "#/components/schemas/CloudObjectStorageBucketReference" } ], "description": "The Cloud Object Storage bucket of the exported image object." }, "storage_href": { "description": "The Cloud Object Storage location of the exported image object. The object at this\nlocation will not exist until the job completes successfully. The exported image\nobject is not managed by the IBM VPC service, and may be removed or replaced with a\ndifferent object by any user or service with IAM authorization to the storage bucket.", "example": "cos://us-south/bucket-27200-lwx4cfvcue/my-image-export.qcow2", "maxLength": 8000, "minLength": 10, "pattern": "^cos:\\/\\/([^\\/?#]*)([^?#]*)$", "type": "string" }, "storage_object": { "allOf": [ { "$ref": "#/components/schemas/CloudObjectStorageObjectReference" } ], "description": "The Cloud Object Storage object for the exported image. This object will not exist until\nthe job completes successfully. The exported image object is not managed by the IBM VPC\nservice, and may be removed or replaced with a different object by any user or service\nwith IAM authorization to the storage bucket.", "example": "my-image-export.qcow2" } }, "required": [ "created_at", "format", "href", "id", "name", "resource_type", "status", "status_reasons", "storage_bucket", "storage_href", "storage_object" ], "type": "object", "title": "ImageExportJob" }, "ImageExportJobPatch": { "properties": { "name": { "description": "The name for this image export job. The name must not be used by another export job for\nthe image. Changing the name will not affect the exported image name,\n`storage_object.name`, or `storage_href` values.", "example": "my-image-export-job", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "ImageExportJobPatch" }, "ImageExportJobPrototype": { "properties": { "format": { "allOf": [ { "$ref": "#/components/schemas/ImageFormat" } ], "default": "qcow2", "description": "The format to use for the exported image. If the image is encrypted, only `qcow2` is\nsupported." }, "name": { "description": "The name for this image export job. The name must not be used by another export job for\nthe image. If unspecified, the name will be a hyphenated list of randomly-selected words\nprefixed with the first 16 characters of the parent image name.\n\nThe exported image object name in Cloud Object Storage (`storage_object.name` in the\nresponse) will be based on this name. The object name will be unique within the bucket.", "example": "my-image-export-job", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "storage_bucket": { "allOf": [ { "$ref": "#/components/schemas/CloudObjectStorageBucketIdentity" } ], "description": "The Cloud Object Storage bucket to export the image to. The bucket must exist and an IAM\nservice authorization must grant `Image Service for VPC` of\n`VPC Infrastructure Services` writer access to the bucket." } }, "required": [ "storage_bucket" ], "type": "object", "title": "ImageExportJobPrototype" }, "ImageExportJobStatusReason": { "properties": { "code": { "description": "A snake case string succinctly identifying the status reason.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_access_storage_bucket", "internal_error" ], "example": "cannot_access_storage_bucket", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-object-storage-prereq", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ImageExportJobStatusReason" }, "ImageExportJobUnpaginatedCollection": { "example": { "export_jobs": [ { "created_at": "2024-12-09T01:09:02.000Z", "format": "qcow2", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8/export_jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a", "id": "r006-095e9baf-01d4-4e29-986e-20d26606b82a", "name": "my-image-export", "resource_type": "image_export_job", "status": "queued", "status_reasons": [], "storage_bucket": { "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue", "name": "bucket-27200-lwx4cfvcue" }, "storage_href": "cos://us-south/bucket-27200-lwx4cfvcue/my-image-export.qcow2", "storage_object": { "name": "my-image-export.qcow2" } } ] }, "properties": { "export_jobs": { "description": "The export jobs for the image.", "items": { "$ref": "#/components/schemas/ImageExportJob" }, "type": "array" } }, "required": [ "export_jobs" ], "type": "object", "title": "ImageExportJobUnpaginatedCollection" }, "ImageFile": { "properties": { "checksums": { "allOf": [ { "$ref": "#/components/schemas/ImageFileChecksums" }, { "description": "The checksums for the imported image file.\n\nThis property may be absent if the associated image has a `status` of `pending` or\n`failed`." } ] }, "size": { "description": "The size of the imported image file, rounded up to the next gigabyte.\n\nThis property may be absent if the associated image has a `status` of `pending` or\n`failed`.", "minimum": 1, "type": "integer" } }, "type": "object", "title": "ImageFile" }, "ImageFileChecksums": { "properties": { "sha256": { "description": "The SHA256 fingerprint of the image file, in hexadecimal", "example": "e992a84f113d3a35d2145ca3e7aca4fc95fe6daf470a08d8af3422ee59c92e15", "maxLength": 64, "minLength": 64, "pattern": "^[0-9a-f]{64}$", "type": "string" } }, "type": "object", "title": "ImageFileChecksums" }, "ImageFilePrototype": { "properties": { "href": { "description": "The Cloud Object Storage location of the image file.\n\nThe image file format is specified by the file's extension, which must be either\n`qcow2` or `vhd`.", "example": "cos://us-south/custom-image-vpc-bucket/customImage-0.vhd", "maxLength": 8000, "minLength": 10, "pattern": "^cos:\\/\\/([^\\/?#]*)([^?#]*)$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ImageFilePrototype" }, "ImageFormat": { "enum": [ "qcow2", "vhd" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ImageFormat" }, "ImageIdentity": { "description": "Identifies an image by a unique property.", "example": { "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8" }, "oneOf": [ { "$ref": "#/components/schemas/ImageIdentityById" }, { "$ref": "#/components/schemas/ImageIdentityByCRN" }, { "$ref": "#/components/schemas/ImageIdentityByHref" } ], "type": "object", "title": "ImageIdentity" }, "ImageIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this image", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "ImageIdentityByCRN" }, "ImageIdentityByHref": { "properties": { "href": { "description": "The URL for this image", "example": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ImageIdentityByHref" }, "ImageIdentityById": { "properties": { "id": { "description": "The unique identifier for this image", "example": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "ImageIdentityById" }, "ImageInstanceProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/instance_profiles?limit=50" }, "instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-2x8", "name": "bx2-2x8", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-8x32", "name": "bx2-8x32", "resource_type": "instance_profile" } ], "limit": 50, "total_count": 3 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/instance_profiles?limit=20" } }, "instance_profiles": { "description": "A page of instance profiles compatible with the image", "items": { "$ref": "#/components/schemas/InstanceProfileReference" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "instance_profiles", "limit", "total_count" ], "type": "object", "title": "ImageInstanceProfileCollection" }, "ImagePatch": { "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/ImageAllowedUsePatch" } ], "description": "The usage constraints to be matched against the requested instance or bare metal server\nproperties to determine compatibility." }, "deprecation_at": { "description": "The deprecation date and time to set for this image.\n\nThis cannot be set if the image has a `status` of `failed` or `deleting`, or if\n`catalog_offering.managed` is `true`.\n\nThe date and time must not be in the past, and must be earlier than `obsolescence_at`\n(if `obsolescence_at` is set). Additionally, if the image status is currently\n`deprecated`, the value cannot be changed (but may be removed).\n\nSpecify `null` to remove an existing deprecation date and time. If the image status is\ncurrently `deprecated`, it will become `available`.\n\nIf the deprecation date and time is reached while the image has a status of `pending`,\nthe image's status will transition to `deprecated` upon its successful creation (or\n`obsolete` if the obsolescence date and time was also reached).", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "name": { "description": "The name for this image. The name must not be used by another image in the region.\nNames starting with `ibm-` are reserved for system-provided images, and are not\nallowed.", "example": "my-image", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "obsolescence_at": { "description": "The obsolescence date and time to set for this image.\n\nThis cannot be set if the image has a `status` of `failed` or `deleting`, or if\n`catalog_offering.managed` is `true`.\n\nThe date and time must not be in the past, and must be later than `deprecation_at` (if\n`deprecation_at` is set). Additionally, if the image status is currently `obsolete`, the\nvalue cannot be changed (but may be removed).\n\nSpecify `null` to remove an existing obsolescence date and time. If the image status is\ncurrently `obsolete`, it will become `deprecated` if `deprecation_at` is in the past.\nOtherwise, it will become `available`.\n\nIf the obsolescence date and time is reached while the image has a status of `pending`,\nthe image's status will transition to `obsolete` upon its successful creation.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "type": "object", "title": "ImagePatch" }, "ImagePrototype": { "oneOf": [ { "$ref": "#/components/schemas/ImageByFile" }, { "$ref": "#/components/schemas/ImageBySourceVolume" } ], "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/ImageAllowedUsePrototype" } ], "description": "The usage constraints to match against the requested instance or bare metal server\nproperties to determine compatibility." }, "deprecation_at": { "description": "The deprecation date and time to set for this image.\n\nThe date and time must not be in the past, and must be earlier than `obsolescence_at`\n(if `obsolescence_at` is set).\n\nIf unspecified, no deprecation date and time will be set.\n\nIf the deprecation date and time is reached while the image has a status of `pending`,\nthe image's status will transition to `deprecated` upon its successful creation (or\n`obsolete` if the obsolescence date and time was also reached).", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "name": { "description": "The name for this image. The name must not be used by another image in the region. Names\nstarting with `ibm-` are reserved for system-provided images, and are not allowed. If\nunspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-image", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "obsolescence_at": { "description": "The obsolescence date and time to set for this image.\n\nThe date and time must not be in the past, and must be later than `deprecation_at` (if\n`deprecation_at` is set).\n\nIf unspecified, no obsolescence date and time will be set.\n\nIf the obsolescence date and time is reached while the image has a status of\n`pending`, the image's status will transition to `obsolete` upon its successful\ncreation.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "type": "object", "title": "ImagePrototype" }, "ImageReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "properties": { "crn": { "description": "The CRN for this image", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this image", "example": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this image", "example": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this image. The name is unique across all images in the region.", "example": "my-image", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/ImageRemoteContextImageReference" }, "resource_type": { "description": "The resource type", "enum": [ "image" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "ImageReference" }, "ImageRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\naccount, and identifies the owning account." } }, "type": "object", "title": "ImageRemote" }, "ImageRemoteContextImageReference": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\naccount, and identifies the owning account." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "ImageRemoteContextImageReference" }, "ImageStatus": { "enum": [ "available", "deleting", "deprecated", "failed", "obsolete", "pending", "unusable" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ImageStatus" }, "ImageStatusReason": { "properties": { "code": { "description": "A reason code for the status:\n- `encrypted_data_key_invalid`: image cannot be decrypted with the specified\n `encryption_key`\n- `encryption_key_deleted`: image unusable because its `encryption_key` was deleted\n- `encryption_key_disabled`: image unusable until its `encryption_key` is re-enabled\n- `image_data_corrupted`: image data is corrupt, or is not in the specified format\n- `image_provisioned_size_unsupported`: image requires a boot volume size greater\n than the maximum supported value\n- `image_request_in_progress`: image operation is in progress (such as an import from\n Cloud Object Storage)\n- `image_request_queued`: image request has been accepted but the requested\n operation has not started\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "encrypted_data_key_invalid", "encryption_key_deleted", "encryption_key_disabled", "image_data_corrupted", "image_provisioned_size_unsupported", "image_request_in_progress", "image_request_queued" ], "example": "encryption_key_deleted", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ImageStatusReason" }, "ImageUserDataFormat": { "enum": [ "cloud_init", "esxi_kickstart", "ipxe" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ImageUserDataFormat" }, "ImageVisibility": { "description": "The visibility of this image.\n- `private`: Visible only to this account\n- `public`: Visible to all accounts", "enum": [ "private", "public" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ImageVisibility" }, "Instance": { "example": { "availability_policy": { "host_failure": "restart" }, "bandwidth": 4000, "boot_volume_attachment": { "device": { "id": "0717-80b3e36e-41f4-40e9-bd56-beae81792a68-679qb" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "name": "my-volume-attachment", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" } }, "cluster_network_attachments": [], "confidential_compute_mode": "sgx", "created_at": "2020-03-26T16:11:57Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "dedicated_host": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "name": "my-dedicated-host", "resource_type": "dedicated_host" }, "disks": [], "enable_secure_boot": true, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "lifecycle_reasons": [], "lifecycle_state": "stable", "memory": 8, "metadata_service": { "enabled": true, "protocol": "http", "response_hop_limit": 1 }, "name": "my-instance", "network_attachments": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } } ], "network_interfaces": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } } ], "numa_count": 2, "placement_target": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "name": "my-dedicated-host", "resource_type": "dedicated_host" }, "primary_network_attachment": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "primary_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, "reservation_affinity": { "policy": "disabled", "pool": [] }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "instance", "startable": true, "status": "running", "status_reasons": [], "total_network_bandwidth": 3000, "total_volume_bandwidth": 1000, "vcpu": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "volume_attachments": [ { "device": { "id": "0717-80b3e36e-41f4-40e9-bd56-beae81792a68-679qb" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "name": "my-volume-attachment", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" } }, { "device": { "id": "0717-e77125cb-4df0-4988-a878-531ae0ae0b70-w8mw8" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-e77125cb-4df0-4988-a878-531ae0ae0b70", "id": "0717-e77125cb-4df0-4988-a878-531ae0ae0b70", "name": "my-volume-attachment-2", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-2cc091f5-4d46-48f3-99b7-3527ae3f4392", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-2cc091f5-4d46-48f3-99b7-3527ae3f4392", "id": "r006-2cc091f5-4d46-48f3-99b7-3527ae3f4392", "name": "my-volume-2", "resource_type": "volume" } } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "availability_policy": { "allOf": [ { "$ref": "#/components/schemas/InstanceAvailabilityPolicy" }, { "description": "The availability policy for this virtual server instance" } ] }, "bandwidth": { "description": "The total bandwidth (in megabits per second) shared across the instance network\nattachments or instance network interfaces and storage volumes of the virtual server\ninstance", "example": 1000, "type": "integer" }, "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentReferenceInstanceContext" }, { "description": "The boot volume attachment for this virtual server instance" } ] }, "catalog_offering": { "allOf": [ { "$ref": "#/components/schemas/InstanceCatalogOffering" }, { "description": "If present, this virtual server instance was provisioned from a\n[catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)." } ] }, "cluster_network": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkReference" }, { "description": "If present, the cluster network that this virtual server instance resides in" } ] }, "cluster_network_attachments": { "description": "The cluster network attachments for this virtual server instance.\n\nThe cluster network attachments are ordered for consistent instance configuration.", "format": "sequence", "items": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentReference" }, "maxItems": 128, "minItems": 0, "type": "array", "uniqueItems": true }, "confidential_compute_mode": { "description": "The confidential compute mode for this virtual server instance.", "enum": [ "disabled", "sgx", "tdx" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "x-ibm-release-level": "preview" }, "created_at": { "description": "The date and time that the virtual server instance was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this virtual server instance", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "dedicated_host": { "allOf": [ { "$ref": "#/components/schemas/DedicatedHostReference" }, { "description": "If present, the dedicated host this virtual server instance has been placed on." } ] }, "disks": { "description": "The instance disks for this virtual server instance.", "items": { "$ref": "#/components/schemas/InstanceDisk" }, "minItems": 0, "type": "array" }, "enable_secure_boot": { "description": "Indicates whether secure boot is enabled for this virtual server instance.", "type": "boolean", "x-ibm-release-level": "preview" }, "gpu": { "$ref": "#/components/schemas/InstanceGPU" }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/InstanceHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this virtual server instance", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this virtual server instance", "example": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "image": { "allOf": [ { "$ref": "#/components/schemas/ImageReference" }, { "description": "The image the virtual server instance was provisioned from" } ] }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/InstanceLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the virtual server instance." } ] }, "memory": { "description": "The amount of memory, truncated to whole gibibytes.\n\nThe maximum limit for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": 64, "maximum": 256000, "minimum": 1, "type": "integer" }, "metadata_service": { "$ref": "#/components/schemas/InstanceMetadataService" }, "name": { "description": "The name for this virtual server instance. The name is unique across all virtual\nserver instances in the region.", "example": "my-instance", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "network_attachments": { "description": "The network attachments for this virtual server instance, including the primary\nnetwork attachment.", "items": { "$ref": "#/components/schemas/InstanceNetworkAttachmentReference" }, "minItems": 0, "type": "array", "uniqueItems": true }, "network_interfaces": { "description": "The network interfaces for this instance, including the primary network interface.\n\nIf this instance has network attachments, each network interface is a [read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface.", "items": { "$ref": "#/components/schemas/NetworkInterfaceInstanceContextReference" }, "minItems": 1, "type": "array", "uniqueItems": true }, "numa_count": { "description": "The number of NUMA nodes this virtual server instance is provisioned on.\n\nThis property will be absent if the instance's `status` is not `running`.", "example": 2, "minimum": 1, "type": "integer" }, "placement_target": { "$ref": "#/components/schemas/InstancePlacementTarget" }, "primary_network_attachment": { "allOf": [ { "$ref": "#/components/schemas/InstanceNetworkAttachmentReference" }, { "description": "The primary network attachment for this virtual server instance" } ] }, "primary_network_interface": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfaceInstanceContextReference" }, { "description": "The primary network interface for this virtual server instance.\n\nIf this instance has network attachments, this primary network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof the primary network attachment and its attached virtual network interface." } ] }, "profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceProfileReference" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) for this virtual\nserver instance" } ] }, "reservation": { "allOf": [ { "$ref": "#/components/schemas/ReservationReference" }, { "description": "The reservation used by this virtual server instance.\n\nIf absent, no reservation is in use." } ] }, "reservation_affinity": { "$ref": "#/components/schemas/InstanceReservationAffinity" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this instance" } ] }, "resource_type": { "description": "The resource type", "enum": [ "instance" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "startable": { "description": "Indicates whether the state of the virtual server instance permits a start request.", "type": "boolean" }, "status": { "description": "The status of the virtual server instance.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "deleting", "failed", "pending", "restarting", "running", "starting", "stopped", "stopping" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/InstanceStatusReason" }, "minItems": 0, "type": "array" }, "total_network_bandwidth": { "description": "The amount of bandwidth (in megabits per second) allocated exclusively to instance\nnetwork attachments or instance network interfaces.", "example": 500, "format": "int32", "type": "integer" }, "total_volume_bandwidth": { "description": "The amount of bandwidth (in megabits per second) allocated exclusively to instance\nstorage volumes. An increase in this value will result in a corresponding decrease to\n`total_network_bandwidth`.", "example": 500, "format": "int32", "type": "integer" }, "vcpu": { "$ref": "#/components/schemas/InstanceVCPU" }, "volume_attachments": { "description": "The volume attachments for this virtual server instance, including the boot volume\nattachment.", "items": { "$ref": "#/components/schemas/VolumeAttachmentReferenceInstanceContext" }, "minItems": 1, "type": "array", "uniqueItems": true }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this virtual server instance resides in" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this virtual server instance resides in" } ] } }, "required": [ "availability_policy", "bandwidth", "boot_volume_attachment", "cluster_network_attachments", "confidential_compute_mode", "created_at", "crn", "disks", "enable_secure_boot", "health_reasons", "health_state", "href", "id", "lifecycle_reasons", "lifecycle_state", "memory", "metadata_service", "name", "network_attachments", "network_interfaces", "primary_network_interface", "profile", "reservation_affinity", "resource_group", "resource_type", "startable", "status", "status_reasons", "total_network_bandwidth", "total_volume_bandwidth", "vcpu", "volume_attachments", "vpc", "zone" ], "type": "object", "title": "Instance" }, "InstanceAction": { "properties": { "completed_at": { "deprecated": true, "description": "The date and time that the action was completed", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "created_at": { "description": "The date and time that the action was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "force": { "description": "If set to true, the action will be forced immediately, and all queued actions deleted.\nIgnored for the start action.", "type": "boolean" }, "href": { "deprecated": true, "description": "The URL for this instance action", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/actions/109a1b6e-1242-4de1-be44-38705e9474ed", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "deprecated": true, "description": "The identifier for this instance action", "example": "109a1b6e-1242-4de1-be44-38705e9474ed", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "started_at": { "deprecated": true, "description": "The date and time that the action was started", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "status": { "deprecated": true, "description": "The current status of this action", "enum": [ "completed", "failed", "pending", "running" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type of action", "enum": [ "reboot", "start", "stop" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "created_at", "href", "id", "status", "type" ], "type": "object", "title": "InstanceAction" }, "InstanceActionPrototype": { "properties": { "force": { "description": "If set to true, the action will be forced immediately, and all queued actions deleted.\nIgnored for the start action.", "type": "boolean" }, "type": { "description": "The type of action", "enum": [ "reboot", "start", "stop" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceActionPrototype" }, "InstanceAvailabilityPolicy": { "properties": { "host_failure": { "description": "The action to perform if the compute host experiences a failure:\n- `restart`: Automatically restart the virtual server instance after host failure\n- `stop`: Leave the virtual server instance stopped after host failure\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "restart", "stop" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "host_failure" ], "type": "object", "title": "InstanceAvailabilityPolicy" }, "InstanceAvailabilityPolicyPatch": { "properties": { "host_failure": { "description": "The action to perform if the compute host experiences a failure.\n- `restart`: Automatically restart the virtual server instance after host failure\n- `stop`: Leave the virtual server instance stopped after host failure", "enum": [ "restart", "stop" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "InstanceAvailabilityPolicyPatch" }, "InstanceAvailabilityPolicyPrototype": { "properties": { "host_failure": { "default": "restart", "description": "The action to perform if the compute host experiences a failure.\n- `restart`: Automatically restart the virtual server instance after host failure\n- `stop`: Leave the virtual server instance stopped after host failure", "enum": [ "restart", "stop" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "InstanceAvailabilityPolicyPrototype" }, "InstanceByCatalogOffering": { "description": "Create an instance by using a catalog offering.", "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "catalog_offering": { "$ref": "#/components/schemas/InstanceCatalogOfferingPrototype" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "catalog_offering", "zone" ], "type": "object", "title": "InstanceByCatalogOffering" }, "InstanceByCatalogOfferingInstanceTemplateContext": { "description": "Create an instance by using a catalog offering.", "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "catalog_offering": { "$ref": "#/components/schemas/InstanceCatalogOfferingPrototype" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "catalog_offering", "zone" ], "type": "object", "title": "InstanceByCatalogOfferingInstanceTemplateContext" }, "InstanceByImage": { "description": "Create an instance by using an image.\n\nThe image's `user_data_format` must be `cloud_init`.", "not": { "$ref": "#/components/schemas/InstanceBySourceTemplate" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "image": { "allOf": [ { "$ref": "#/components/schemas/ImageIdentity" }, { "description": "The image to use when provisioning the virtual server instance.", "example": { "id": "r006-02c73baf-9abb-493d-9e41-d0f1866f4051" } } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "image", "zone" ], "type": "object", "title": "InstanceByImage" }, "InstanceByImageAndCatalogOffering": { "required": [ "catalog_offering", "image" ], "type": "object", "title": "InstanceByImageAndCatalogOffering" }, "InstanceByImageInstanceTemplateContext": { "description": "Create an instance by using an image.", "not": { "$ref": "#/components/schemas/InstanceBySourceTemplate" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "image": { "allOf": [ { "$ref": "#/components/schemas/ImageIdentity" }, { "description": "The image to use when provisioning the virtual server instance.", "example": { "id": "r006-02c73baf-9abb-493d-9e41-d0f1866f4051" } } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "image", "zone" ], "type": "object", "title": "InstanceByImageInstanceTemplateContext" }, "InstanceByImageOrCatalogOffering": { "anyOf": [ { "$ref": "#/components/schemas/InstanceByImage" }, { "$ref": "#/components/schemas/InstanceByCatalogOffering" } ], "type": "object", "title": "InstanceByImageOrCatalogOffering" }, "InstanceByNetworkAttachment": { "properties": { "network_attachments": { "description": "The additional network attachments to create for the virtual server instance.", "items": { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "primary_network_attachment": { "allOf": [ { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, { "description": "The primary network attachment to create for the virtual server instance" } ] } }, "required": [ "primary_network_attachment" ], "type": "object", "title": "InstanceByNetworkAttachment" }, "InstanceByNetworkInterface": { "deprecated": true, "properties": { "network_interfaces": { "description": "The additional instance network interfaces to create.", "items": { "$ref": "#/components/schemas/NetworkInterfacePrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "primary_network_interface": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfacePrototype" }, { "description": "The primary instance network interface to create" } ] } }, "required": [ "primary_network_interface" ], "type": "object", "title": "InstanceByNetworkInterface" }, "InstanceBySourceSnapshot": { "description": "Create an instance by using a snapshot.", "not": { "$ref": "#/components/schemas/InstanceByImageOrCatalogOffering" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceBySourceSnapshotContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "boot_volume_attachment", "zone" ], "type": "object", "title": "InstanceBySourceSnapshot" }, "InstanceBySourceSnapshotInstanceTemplateContext": { "description": "Create an instance by using a snapshot.", "not": { "$ref": "#/components/schemas/InstanceByImageOrCatalogOffering" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceBySourceSnapshotContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "network_attachments": { "description": "The additional network attachments to create for the virtual server instance.", "items": { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "network_interfaces": { "description": "The additional instance network interfaces to create.", "items": { "$ref": "#/components/schemas/NetworkInterfacePrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "primary_network_attachment": { "allOf": [ { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, { "description": "The primary network attachment to create for the virtual server instance" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "boot_volume_attachment", "zone" ], "type": "object", "title": "InstanceBySourceSnapshotInstanceTemplateContext" }, "InstanceBySourceTemplate": { "description": "Create an instance by using an instance template.\n\nThe `primary_network_attachment` and `network_attachments` properties may only\nbe specified if `primary_network_attachment` is specified in the source template.\n\nThe `primary_network_interface` and `network_interfaces` properties may only\nbe specified if `primary_network_interface` is specified in the source template.", "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "catalog_offering": { "allOf": [ { "$ref": "#/components/schemas/InstanceCatalogOfferingPrototype" } ], "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering version to use when provisioning this virtual server instance.\nIf an offering is specified, the latest version of that offering will be used.\n\nThe specified offering or offering version may be in a different account, subject to\nIAM policies.\n\nIf specified, `image` must not be specified, and `source_template` must not have\n`image` specified." }, "image": { "allOf": [ { "$ref": "#/components/schemas/ImageIdentity" }, { "description": "The image to use when provisioning the virtual server instance.", "example": { "id": "r006-02c73baf-9abb-493d-9e41-d0f1866f4051" } } ], "description": "The image to use when provisioning the virtual server instance.\n\nIf specified, `catalog_offering` must not be specified, and `source_template` must\nnot have `catalog_offering` specified." }, "network_attachments": { "description": "The additional network attachments to create for the virtual server instance.", "items": { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "network_interfaces": { "description": "The additional instance network interfaces to create.", "items": { "$ref": "#/components/schemas/NetworkInterfacePrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "primary_network_attachment": { "allOf": [ { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, { "description": "The primary network attachment to create for the virtual server instance" } ] }, "primary_network_interface": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfacePrototype" }, { "description": "The primary instance network interface to create" } ] }, "source_template": { "allOf": [ { "$ref": "#/components/schemas/InstanceTemplateIdentity" } ], "description": "The template to create this virtual server instance from." }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "source_template" ], "type": "object", "title": "InstanceBySourceTemplate" }, "InstanceByVolume": { "description": "Create an instance by using a boot volume.", "not": { "$ref": "#/components/schemas/InstanceByImageOrCatalogOffering" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByVolumeContext" } ], "description": "The boot volume attachment for the virtual server instance" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "boot_volume_attachment", "zone" ], "type": "object", "title": "InstanceByVolume" }, "InstanceCatalogOffering": { "properties": { "plan": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionPlanReference" } ], "description": "The billing plan used for the catalog offering version.\n\nIf absent, no billing plan is in use (free)." }, "version": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionReference" } ], "description": "The catalog offering version this virtual server instance was provisioned from.\n\nThe catalog offering version is not managed by the IBM VPC service, and may no longer\nexist, or may refer to a different image CRN than the `image.crn` for this virtual\nserver instance. However, all images associated with a catalog offering version will\nhave the same checksum, and therefore will have the same data." } }, "required": [ "version" ], "type": "object", "title": "InstanceCatalogOffering" }, "InstanceCatalogOfferingPrototype": { "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering\nor offering version to use when provisioning this virtual server instance.\n\nIf an offering is specified, the latest version of that offering will be used.\n\nThe specified offering or offering version may be in a different account, subject\nto IAM policies.", "oneOf": [ { "$ref": "#/components/schemas/CatalogOfferingByOffering" }, { "$ref": "#/components/schemas/CatalogOfferingByVersion" } ], "properties": { "plan": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionPlanIdentity" } ], "description": "The billing plan to use for the catalog offering version. If unspecified, no billing\nplan will be used (free). Must be specified for catalog offering versions that require\na billing plan to be used." } }, "type": "object", "title": "InstanceCatalogOfferingPrototype" }, "InstanceClusterNetworkAttachment": { "example": { "before": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-a69563fa-0415-4d6e-aeb3-a3f14654bf90", "id": "0717-a69563fa-0415-4d6e-aeb3-a3f14654bf90", "name": "other-instance-cluster-network-attachment", "resource_type": "instance_cluster_network_attachment" }, "cluster_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "name": "my-cluster-network-interface", "primary_ip": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "resource_type": "cluster_network_interface", "subnet": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" } }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "id": "0717-fb880975-db45-4459-8548-64e3995ac213", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-instance-cluster-network-attachment", "resource_type": "instance_cluster_network_attachment" }, "properties": { "before": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentBefore" }, "cluster_network_interface": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkInterfaceReference" }, { "description": "The cluster network interface for this instance cluster network attachment" } ] }, "href": { "description": "The URL for this instance cluster network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance cluster network attachment", "example": "0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentLifecycleState" }, "name": { "description": "The name for this instance cluster network attachment. The name is unique across all\nnetwork attachments for the instance.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_cluster_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "cluster_network_interface", "href", "id", "lifecycle_reasons", "lifecycle_state", "name", "resource_type" ], "type": "object", "title": "InstanceClusterNetworkAttachment" }, "InstanceClusterNetworkAttachmentBefore": { "description": "The instance cluster network attachment that is immediately before. If absent, this is the\nlast instance cluster network attachment.", "example": { "cluster_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "name": "my-cluster-network-interface", "primary_ip": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "resource_type": "cluster_network_interface", "subnet": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" } }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-a69563fa-0415-4d6e-aeb3-a3f14654bf90", "id": "0717-a69563fa-0415-4d6e-aeb3-a3f14654bf90", "name": "other-instance-cluster-network-attachment", "resource_type": "instance_cluster_network_attachment" }, "properties": { "href": { "description": "The URL for this instance cluster network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance cluster network attachment", "example": "0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance cluster network attachment. The name is unique across all\nnetwork attachments for the instance.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_cluster_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "InstanceClusterNetworkAttachmentBefore" }, "InstanceClusterNetworkAttachmentBeforePrototype": { "allOf": [ { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentIdentity" } ], "description": "The instance cluster network attachment to insert this instance cluster network attachment\nimmediately before.\n\nIf unspecified, this instance cluster network attachment will be inserted after all\nexisting instance cluster network attachments.", "example": { "id": "0717-fb880975-db45-4459-8548-64e3995ac213" }, "title": "InstanceClusterNetworkAttachmentBeforePrototype" }, "InstanceClusterNetworkAttachmentCollection": { "example": { "cluster_network_attachments": [ { "before": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-a69563fa-0415-4d6e-aeb3-a3f14654bf90", "id": "0717-a69563fa-0415-4d6e-aeb3-a3f14654bf90", "name": "other-instance-cluster-network-attachment", "resource_type": "instance_cluster_network_attachment" }, "cluster_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "name": "my-cluster-network-interface", "primary_ip": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "resource_type": "cluster_network_interface", "subnet": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" } }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "id": "0717-fb880975-db45-4459-8548-64e3995ac213", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-instance-cluster-network-attachment", "resource_type": "instance_cluster_network_attachment" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments?limit=20" }, "limit": 20, "total_count": 1 }, "properties": { "cluster_network_attachments": { "description": "A page of ordered cluster network attachments (sorted based on the `before`\nproperty) for the instance. A cluster network attachment represents a device to\nwhich a cluster network interface is attached.", "items": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachment" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments?start=0717-fb880975-db45-4459-8548-64e3995ac213&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "cluster_network_attachments", "first", "limit", "total_count" ], "type": "object", "title": "InstanceClusterNetworkAttachmentCollection" }, "InstanceClusterNetworkAttachmentIdentity": { "description": "Identifies an instance cluster network attachment by a unique property.", "example": { "id": "0717-fb880975-db45-4459-8548-64e3995ac213" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentIdentityById" }, { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentIdentityByHref" } ], "type": "object", "title": "InstanceClusterNetworkAttachmentIdentity" }, "InstanceClusterNetworkAttachmentIdentityByHref": { "properties": { "href": { "description": "The URL for this instance cluster network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "InstanceClusterNetworkAttachmentIdentityByHref" }, "InstanceClusterNetworkAttachmentIdentityById": { "properties": { "id": { "description": "The unique identifier for this instance cluster network attachment", "example": "0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "InstanceClusterNetworkAttachmentIdentityById" }, "InstanceClusterNetworkAttachmentLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "InstanceClusterNetworkAttachmentLifecycleReason" }, "InstanceClusterNetworkAttachmentLifecycleState": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the instance cluster network attachment" } ], "title": "InstanceClusterNetworkAttachmentLifecycleState" }, "InstanceClusterNetworkAttachmentPatch": { "properties": { "name": { "description": "The name for this network attachment. The name must not be used by another\nnetwork attachment for the instance. Names starting with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-instance-network-attachment-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "InstanceClusterNetworkAttachmentPatch" }, "InstanceClusterNetworkAttachmentPrototype": { "properties": { "before": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentBeforePrototype" }, "cluster_network_interface": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface" }, "name": { "description": "The name for this cluster network attachment. Names must be unique within the instance\nthe cluster network attachment resides in. If unspecified, the name will be a\nhyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "cluster_network_interface" ], "type": "object", "title": "InstanceClusterNetworkAttachmentPrototype" }, "InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface": { "description": "A cluster network interface for the instance cluster network attachment. This can be\nspecified using an existing cluster network interface that does not already have a\n`target`, or a prototype object for a new cluster network interface.\n\nThis instance must reside in the same VPC as the specified cluster network interface. The\ncluster network interface must reside in the same cluster network as the\n`cluster_network_interface` of any other `cluster_network_attachments` for this instance.", "oneOf": [ { "$ref": "#/components/schemas/InstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment" }, { "$ref": "#/components/schemas/ClusterNetworkInterfaceIdentity" } ], "type": "object", "title": "InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface" }, "InstanceClusterNetworkAttachmentPrototypeInstanceContext": { "properties": { "cluster_network_interface": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface" }, "name": { "description": "The name for this cluster network attachment. Names must be unique within the instance\nthe cluster network attachment resides in. If unspecified, the name will be a\nhyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "cluster_network_interface" ], "type": "object", "title": "InstanceClusterNetworkAttachmentPrototypeInstanceContext" }, "InstanceClusterNetworkAttachmentReference": { "example": { "cluster_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces/0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "id": "0717-ffc092f7-5d02-4b93-ab69-26860529b9fb", "name": "my-cluster-network-interface", "primary_ip": { "address": "10.1.0.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930/reserved_ips/0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117", "name": "my-cluster-network-subnet-reserved-ip", "resource_type": "cluster_network_subnet_reserved_ip" }, "resource_type": "cluster_network_interface", "subnet": { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets/0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930", "name": "my-cluster-network-subnet", "resource_type": "cluster_network_subnet" } }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "id": "0717-fb880975-db45-4459-8548-64e3995ac213", "name": "my-instance-cluster-network-attachment", "resource_type": "instance_cluster_network_attachment" }, "properties": { "href": { "description": "The URL for this instance cluster network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance cluster network attachment", "example": "0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance cluster network attachment. The name is unique across all\nnetwork attachments for the instance.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_cluster_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "InstanceClusterNetworkAttachmentReference" }, "InstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext": { "properties": { "href": { "description": "The URL for this instance cluster network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/cluster_network_attachments/0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance cluster network attachment", "example": "0717-fb880975-db45-4459-8548-64e3995ac213", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance cluster network attachment. The name is unique across all\nnetwork attachments for the instance.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_cluster_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "InstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext" }, "InstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment": { "description": "The cluster network interface for this target.", "example": { "subnet": { "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930" } }, "not": { "$ref": "#/components/schemas/ClusterNetworkInterfaceIdentity" }, "properties": { "auto_delete": { "default": true, "description": "Indicates whether this cluster network interface will be automatically deleted\nwhen `target` is deleted", "example": false, "type": "boolean" }, "name": { "description": "The name for this cluster network interface. The name must not be used by\nanother interface in the cluster network. Names beginning with `ibm-` are\nreserved for provider-owned resources, and are not allowed. If unspecified, the name\nwill be a hyphenated list of randomly-selected words.", "example": "my-cluster-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkInterfacePrimaryIPPrototype" } ], "description": "The primary IP address to bind to the cluster network interface. May be either\na cluster network subnet reserved IP identity, or a cluster network subnet reserved IP\nprototype object which will be used to create a new cluster network subnet reserved IP.\n\nIf a cluster network subnet reserved IP identity is provided, the specified cluster\nnetwork subnet reserved IP must be unbound.\n\nIf a cluster network subnet reserved IP prototype object with an address is provided,\nthe address must be available on the cluster network interface's cluster network\nsubnet. If no address is specified, an available address on the cluster network subnet\nwill be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/ClusterNetworkSubnetIdentity" }, { "description": "The associated cluster network subnet. Required if `primary_ip` does not specify a\ncluster network subnet reserved IP identity.", "example": { "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930" } } ] } }, "type": "object", "title": "InstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment" }, "InstanceCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances?limit=20" }, "instances": [ { "availability_policy": { "host_failure": "restart" }, "bandwidth": 4000, "boot_volume_attachment": { "device": { "id": "0717-80b3e36e-41f4-40e9-bd56-beae81792a68-679qb" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "name": "my-volume-attachment", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" } }, "cluster_network_attachments": [], "confidential_compute_mode": "sgx", "created_at": "2020-03-26T16:11:57Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "dedicated_host": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "name": "my-dedicated-host", "resource_type": "dedicated_host" }, "disks": [], "enable_secure_boot": true, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "lifecycle_reasons": [], "lifecycle_state": "stable", "memory": 8, "metadata_service": { "enabled": true, "protocol": "http", "response_hop_limit": 1 }, "name": "my-instance", "network_attachments": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } } ], "network_interfaces": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } } ], "numa_count": 2, "placement_target": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a", "name": "my-dedicated-host", "resource_type": "dedicated_host" }, "primary_network_attachment": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "primary_network_interface": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, "reservation_affinity": { "policy": "disabled", "pool": [] }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "instance", "startable": true, "status": "running", "status_reasons": [], "total_network_bandwidth": 3000, "total_volume_bandwidth": 1000, "vcpu": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "volume_attachments": [ { "device": { "id": "0717-80b3e36e-41f4-40e9-bd56-beae81792a68-679qb" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "name": "my-volume-attachment", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" } }, { "device": { "id": "0717-e77125cb-4df0-4988-a878-531ae0ae0b70-w8mw8" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-e77125cb-4df0-4988-a878-531ae0ae0b70", "id": "0717-e77125cb-4df0-4988-a878-531ae0ae0b70", "name": "my-volume-attachment-2", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-2cc091f5-4d46-48f3-99b7-3527ae3f4392", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-2cc091f5-4d46-48f3-99b7-3527ae3f4392", "id": "r006-2cc091f5-4d46-48f3-99b7-3527ae3f4392", "name": "my-volume-2", "resource_type": "volume" } } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "limit": 20, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances?limit=20" } }, "instances": { "description": "A page of virtual server instances", "items": { "$ref": "#/components/schemas/Instance" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "instances", "limit", "total_count" ], "type": "object", "title": "InstanceCollection" }, "InstanceConsoleAccessToken": { "description": "The instance console access token information", "example": { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI", "console_type": "serial", "created_at": "2025-01-13T07:09:45Z", "expires_at": "2025-01-13T08:09:45Z", "force": true, "href": "wss://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI" }, "properties": { "access_token": { "description": "A URL safe single-use token used to access the console WebSocket.", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI", "maxLength": 2000, "minLength": 14, "pattern": "^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$", "type": "string" }, "console_type": { "description": "The instance console type for which this token may be used", "enum": [ "serial", "vnc" ], "example": "serial", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that the access token was created", "example": "2020-07-27T21:50:14.000Z", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "expires_at": { "description": "The date and time that the access token will expire", "example": "2020-07-27T21:51:14.000Z", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "force": { "description": "Indicates whether to disconnect an existing serial console session as the serial console\ncannot be shared. This has no effect on VNC consoles.", "example": false, "type": "boolean" }, "href": { "description": "The URL to access this instance console.", "example": "wss://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWEyNDMyYjFmYTRkNGFjZTg5MWU5YjgwZmMxMDRlMzQiLCJzZWNyZXQiOiJRVzRnWlhoaGJYQnNaU0J6WldOeVpYUUsiLCJleHAiOjE3MjYwNzU1OTR9.UFDVzzGJ54Go9Z4jgyPSLG49zNx-AjHTQrJA6ee8KLI", "maxLength": 8000, "minLength": 10, "pattern": "^wss:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "access_token", "console_type", "created_at", "expires_at", "force", "href" ], "type": "object", "title": "InstanceConsoleAccessToken" }, "InstanceConsoleAccessTokenPrototype": { "description": "The instance console configuration used to generate the access token", "properties": { "console_type": { "description": "The instance console type for which this token may be used", "enum": [ "serial", "vnc" ], "example": "serial", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "force": { "default": false, "description": "Indicates whether to disconnect an existing serial console session as the serial console\ncannot be shared. This has no effect on VNC consoles.", "example": false, "type": "boolean" } }, "required": [ "console_type" ], "type": "object", "title": "InstanceConsoleAccessTokenPrototype" }, "InstanceDefaultTrustedProfilePrototype": { "properties": { "auto_link": { "default": true, "description": "If set to `true`, the system will create a link to the specified `target` trusted\nprofile during instance creation. Regardless of whether a link is created by the system\nor manually using the IAM Identity service, it will be automatically deleted when the\ninstance is deleted.", "example": false, "type": "boolean" }, "target": { "allOf": [ { "$ref": "#/components/schemas/TrustedProfileIdentity" }, { "description": "The default IAM trusted profile to use for this virtual server instance" } ] } }, "required": [ "target" ], "type": "object", "title": "InstanceDefaultTrustedProfilePrototype" }, "InstanceDisk": { "properties": { "created_at": { "description": "The date and time that the disk was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this instance disk", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance disk", "example": "10c02d81-0ecb-4dc5-897d-28392913b81e", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "interface_type": { "$ref": "#/components/schemas/InstanceDiskInterfaceType" }, "name": { "description": "The name for this instance disk. The name is unique across all disks on the instance.", "example": "my-instance-disk", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_disk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "size": { "description": "The size of the disk in GB (gigabytes)", "example": 100, "maximum": 100000, "minimum": 1, "type": "integer" } }, "required": [ "created_at", "href", "id", "interface_type", "name", "resource_type", "size" ], "type": "object", "title": "InstanceDisk" }, "InstanceDiskCollection": { "properties": { "disks": { "description": "The disks for the instance", "items": { "$ref": "#/components/schemas/InstanceDisk" }, "type": "array" } }, "required": [ "disks" ], "type": "object", "title": "InstanceDiskCollection" }, "InstanceDiskInterfaceType": { "description": "The disk interface used for attaching the disk.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "nvme", "virtio_blk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "InstanceDiskInterfaceType" }, "InstanceDiskPatch": { "properties": { "name": { "description": "The name for this instance disk. The name must not be used by another disk on the\ninstance.", "example": "my-instance-disk-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "InstanceDiskPatch" }, "InstanceDiskReference": { "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance disk", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance disk", "example": "10c02d81-0ecb-4dc5-897d-28392913b81e", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance disk. The name is unique across all disks on the instance.", "example": "my-instance-disk", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_disk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "InstanceDiskReference" }, "InstanceGPU": { "description": "The virtual server instance GPU configuration", "properties": { "count": { "description": "The number of GPUs assigned to the instance", "minimum": 1, "type": "integer" }, "manufacturer": { "$ref": "#/components/schemas/InstanceGPUManufacturer" }, "memory": { "description": "The overall amount of GPU memory in GiB (gibibytes)", "minimum": 1, "type": "integer" }, "model": { "$ref": "#/components/schemas/InstanceGPUModel" } }, "required": [ "count", "manufacturer", "memory", "model" ], "type": "object", "title": "InstanceGPU" }, "InstanceGPUManufacturer": { "description": "The GPU manufacturer.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "amd", "intel", "nvidia" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "InstanceGPUManufacturer" }, "InstanceGPUModel": { "description": "The GPU model", "example": "Tesla V100", "maxLength": 120, "minLength": 1, "pattern": "^[-A-Za-z0-9 !$@#%&*'=_+:;,?\\./\\(\\)\\[\\]]+$", "type": "string", "title": "InstanceGPUModel" }, "InstanceGroup": { "example": { "created_at": "2024-11-15T19:55:00Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "id": "r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "instance_template": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "name": "my-instance-template" }, "lifecycle_reasons": [], "lifecycle_state": "stable", "managers": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "id": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "name": "my-instance-group-manager" } ], "membership_count": 0, "name": "my-instance-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "status": "healthy", "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "updated_at": "2024-11-18T21:25:02Z", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "application_port": { "description": "The port used for new load balancer pool members created by this instance group.\n\nThis property will be present if and only if `load_balancer_pool` is present.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "created_at": { "description": "The date and time that the instance group was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this instance group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this instance group", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group", "example": "r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "instance_template": { "allOf": [ { "$ref": "#/components/schemas/InstanceTemplateReference" } ], "description": "The template used to create new instances for this group." }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/InstanceGroupLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the instance group." } ] }, "load_balancer_pool": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolReference" }, { "description": "If present, the load balancer pool this instance group manages. A pool member will\nbe created for each instance created by this group." } ] }, "managers": { "description": "The managers for the instance group.", "items": { "$ref": "#/components/schemas/InstanceGroupManagerReference" }, "type": "array" }, "membership_count": { "description": "The number of instances in the instance group", "example": 10, "maximum": 1000, "minimum": 0, "type": "integer" }, "name": { "description": "The name for this instance group. The name is unique across all instance groups in the\nregion.", "example": "my-instance-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupReference" }, "status": { "description": "The status of the instance group\n- `deleting`: Group is being deleted\n- `healthy`: Group has `membership_count` instances\n- `scaling`: Instances in the group are being created or deleted to reach\n `membership_count`\n- `unhealthy`: Group is unable to reach `membership_count` instances\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "deleting", "healthy", "scaling", "unhealthy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnets": { "description": "The subnets to use when creating new instances.", "items": { "$ref": "#/components/schemas/SubnetReference" }, "minItems": 1, "type": "array" }, "updated_at": { "description": "The date and time that the instance group was updated", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC the instance group resides in" } ] } }, "required": [ "created_at", "crn", "href", "id", "instance_template", "lifecycle_reasons", "lifecycle_state", "managers", "membership_count", "name", "resource_group", "status", "subnets", "updated_at", "vpc" ], "type": "object", "title": "InstanceGroup" }, "InstanceGroupCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups?limit=50" }, "instance_groups": [ { "created_at": "2024-11-15T19:55:00Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "id": "r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "instance_template": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "name": "my-instance-template" }, "lifecycle_reasons": [], "lifecycle_state": "stable", "managers": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "id": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "name": "my-instance-group-manager" } ], "membership_count": 0, "name": "my-instance-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "status": "healthy", "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "updated_at": "2024-11-18T21:25:02Z", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ], "limit": 50, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups?limit=20" } }, "instance_groups": { "description": "A page of instance groups", "items": { "$ref": "#/components/schemas/InstanceGroup" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "instance_groups", "limit", "total_count" ], "type": "object", "title": "InstanceGroupCollection" }, "InstanceGroupLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "InstanceGroupLifecycleReason" }, "InstanceGroupManager": { "example": { "aggregation_window": 90, "cooldown": 300, "created_at": "2024-11-18T19:54:00Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "id": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "management_enabled": true, "manager_type": "autoscale", "max_membership_count": 50, "min_membership_count": 1, "name": "my-instance-group-manager", "policies": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies/r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "id": "r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "name": "my-instance-group-manager-policy" } ], "updated_at": "2024-11-18T19:54:00Z" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerAutoScale" }, { "$ref": "#/components/schemas/InstanceGroupManagerScheduled" } ], "properties": { "created_at": { "description": "The date and time that the instance group manager was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this instance group manager", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group manager", "example": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "management_enabled": { "description": "Indicates whether this manager will control the instance group.", "type": "boolean" }, "name": { "description": "The name for this instance group manager. The name is unique across all managers for\nthe instance group.", "example": "my-instance-group-manager", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "updated_at": { "description": "The date and time that the instance group manager was updated", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "required": [ "created_at", "href", "id", "management_enabled", "name", "updated_at" ], "type": "object", "x-child-schema-suffix": "InstanceGroupManager", "title": "InstanceGroupManager" }, "InstanceGroupManagerAction": { "example": { "action_type": "scheduled", "auto_delete": true, "auto_delete_timeout": 24, "created_at": "2024-11-18T18:42:00Z", "cron_spec": "15 * * * *", "group": { "membership_count": 10 }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions/r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "id": "r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "name": "my-instance-group-manager-action", "resource_type": "instance_group_manager_action", "status": "active", "updated_at": "2024-11-18T18:42:00Z" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledAction" } ], "properties": { "auto_delete": { "description": "Indicates whether this scheduled action will be automatically deleted after it has\ncompleted and `auto_delete_timeout` hours have passed.", "example": true, "type": "boolean" }, "auto_delete_timeout": { "description": "If `auto_delete` is `true`, and this scheduled action has finished, the hours after\nwhich it will be automatically deleted. If the value is `0`, the action will be\ndeleted once it has finished.", "example": 24, "maximum": 744, "minimum": 0, "type": "integer" }, "created_at": { "description": "The date and time that the instance group manager action was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this instance group manager action", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions/r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group manager action", "example": "r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance group manager action. The name is unique across all actions\nfor the instance group manager.", "example": "my-instance-group-manager-action", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_group_manager_action" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of the instance group action\n- `active`: Action is ready to be run\n- `completed`: Action was completed successfully\n- `failed`: Action could not be completed successfully\n- `incompatible`: Action parameters are not compatible with the group or manager\n- `omitted`: Action was not applied because this action's manager was disabled\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "completed", "failed", "incompatible", "omitted" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "updated_at": { "description": "The date and time that the instance group manager action was updated", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "required": [ "auto_delete", "auto_delete_timeout", "created_at", "href", "id", "name", "resource_type", "status", "updated_at" ], "type": "object", "x-child-schema-suffix": "InstanceGroupManagerAction", "title": "InstanceGroupManagerAction" }, "InstanceGroupManagerActionGroupPatch": { "properties": { "membership_count": { "description": "The desired number of instance group members at the scheduled time", "example": 10, "maximum": 100, "minimum": 0, "type": "integer" } }, "type": "object", "title": "InstanceGroupManagerActionGroupPatch" }, "InstanceGroupManagerActionManagerPatch": { "properties": { "max_membership_count": { "description": "The desired maximum number of instance group members at the scheduled time", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "min_membership_count": { "description": "The desired minimum number of instance group members at the scheduled time", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" } }, "type": "object", "x-child-schema-suffix": "AutoScalePatch", "title": "InstanceGroupManagerActionManagerPatch" }, "InstanceGroupManagerActionPatch": { "properties": { "auto_delete": { "description": "Indicates whether this scheduled action will be automatically deleted after it has\ncompleted and `auto_delete_timeout` hours have passed.", "example": true, "type": "boolean" }, "auto_delete_timeout": { "description": "If `auto_delete` is `true`, and this scheduled action has finished, the hours after\nwhich it will be automatically deleted. If the value is `0`, the action will be\ndeleted once it has finished.", "example": 24, "maximum": 744, "minimum": 0, "type": "integer" }, "cron_spec": { "description": "The cron specification for a recurring scheduled action. Actions can be\napplied a maximum of one time within a 5 min period.", "example": "30 */2 * * 1-5", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "group": { "$ref": "#/components/schemas/InstanceGroupManagerActionGroupPatch" }, "manager": { "$ref": "#/components/schemas/InstanceGroupManagerActionManagerPatch" }, "name": { "description": "The name for this instance group manager action. The name must not be used by another\naction for the instance group manager.", "example": "my-instance-group-manager-action", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "run_at": { "description": "The date and time the scheduled action will run", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "type": "object", "title": "InstanceGroupManagerActionPatch" }, "InstanceGroupManagerActionPrototype": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionPrototype" } ], "properties": { "name": { "description": "The name for this instance group manager action. The name must not be used by another\naction for the instance group manager. If unspecified, the name will be a hyphenated\nlist of randomly-selected words.", "example": "my-instance-group-manager-action", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "InstanceGroupManagerActionPrototype" }, "InstanceGroupManagerActionReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions/r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "id": "r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "name": "my-instance-group-manager-action", "resource_type": "instance_group_manager_action" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance group manager action", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions/r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group manager action", "example": "r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance group manager action. The name is unique across all actions\nfor the instance group manager.", "example": "my-instance-group-manager-action", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_group_manager_action" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "x-child-schema-suffix": "InstanceGroupManagerActionReference", "title": "InstanceGroupManagerActionReference" }, "InstanceGroupManagerActionsCollection": { "example": { "actions": [ { "action_type": "scheduled", "auto_delete": true, "auto_delete_timeout": 24, "created_at": "2024-11-18T18:42:00Z", "cron_spec": "15 * * * *", "group": { "membership_count": 10 }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions/r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "id": "r006-b3fda6cb-6f66-4ab4-a636-100ded91e8d7", "name": "my-instance-group-manager-action", "resource_type": "instance_group_manager_action", "status": "active", "updated_at": "2024-11-18T18:42:00Z" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "actions": { "description": "A page of actions for the instance group manager", "items": { "$ref": "#/components/schemas/InstanceGroupManagerAction" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/actions?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "actions", "first", "limit", "total_count" ], "type": "object", "title": "InstanceGroupManagerActionsCollection" }, "InstanceGroupManagerAutoScale": { "properties": { "aggregation_window": { "description": "The time window in seconds to aggregate metrics prior to evaluation", "example": 120, "maximum": 600, "minimum": 90, "type": "integer" }, "cooldown": { "description": "The duration of time in seconds to pause\nfurther scale actions after scaling has taken place", "example": 210, "maximum": 3600, "minimum": 120, "type": "integer" }, "manager_type": { "description": "The type of instance group manager.", "enum": [ "autoscale" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "max_membership_count": { "description": "The maximum number of members in a managed instance group", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "min_membership_count": { "description": "The minimum number of members in a managed instance group", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "policies": { "description": "The policies of the instance group manager", "items": { "$ref": "#/components/schemas/InstanceGroupManagerPolicyReference" }, "type": "array" } }, "required": [ "aggregation_window", "cooldown", "manager_type", "max_membership_count", "min_membership_count", "policies" ], "type": "object", "title": "InstanceGroupManagerAutoScale" }, "InstanceGroupManagerAutoScalePrototype": { "properties": { "aggregation_window": { "default": 90, "description": "The time window in seconds to aggregate metrics prior to evaluation", "example": 120, "maximum": 600, "minimum": 90, "type": "integer" }, "cooldown": { "default": 300, "description": "The duration of time in seconds to pause\nfurther scale actions after scaling has taken place", "example": 210, "maximum": 3600, "minimum": 120, "type": "integer" }, "manager_type": { "description": "The type of instance group manager.", "enum": [ "autoscale" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "max_membership_count": { "description": "The maximum number of members in a managed instance group", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "min_membership_count": { "default": 1, "description": "The minimum number of members in a managed instance group", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" } }, "required": [ "manager_type", "max_membership_count" ], "type": "object", "title": "InstanceGroupManagerAutoScalePrototype" }, "InstanceGroupManagerCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers?limit=50" }, "limit": 50, "managers": [ { "aggregation_window": 90, "cooldown": 300, "created_at": "2024-11-18T19:54:00Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "id": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "management_enabled": true, "manager_type": "autoscale", "max_membership_count": 50, "min_membership_count": 1, "name": "my-instance-group-manager", "policies": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies/r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "id": "r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "name": "my-instance-group-manager-policy" } ], "updated_at": "2024-11-18T19:54:00Z" } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "managers": { "description": "A page of managers for the instance group", "items": { "$ref": "#/components/schemas/InstanceGroupManager" }, "type": "array" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "managers", "total_count" ], "type": "object", "title": "InstanceGroupManagerCollection" }, "InstanceGroupManagerIdentityByHref": { "properties": { "href": { "description": "The URL for this instance group manager", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "x-child-schema-suffix": "ByHref", "title": "InstanceGroupManagerIdentityByHref" }, "InstanceGroupManagerIdentityById": { "properties": { "id": { "description": "The unique identifier for this instance group manager", "example": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "x-child-schema-suffix": "ById", "title": "InstanceGroupManagerIdentityById" }, "InstanceGroupManagerPatch": { "properties": { "aggregation_window": { "description": "The time window in seconds to aggregate metrics prior to evaluation", "example": 120, "maximum": 600, "minimum": 90, "type": "integer" }, "cooldown": { "description": "The duration of time in seconds to pause\nfurther scale actions after scaling has taken place", "example": 210, "maximum": 3600, "minimum": 120, "type": "integer" }, "management_enabled": { "description": "Indicates whether this manager will control the instance group.", "type": "boolean" }, "max_membership_count": { "description": "The maximum number of members in a managed instance group", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "min_membership_count": { "description": "The minimum number of members in a managed instance group", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "name": { "description": "The name for this instance group manager. The name must not be used by another manager\nfor the instance group.", "example": "my-instance-group-manager", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "InstanceGroupManagerPatch" }, "InstanceGroupManagerPolicy": { "example": { "created_at": "2024-11-18T19:56:00Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies/r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "id": "r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "metric_type": "cpu", "metric_value": 50, "name": "my-instance-group-manager-policy", "policy_type": "target", "updated_at": "2024-11-18T19:56:00Z" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerTargetPolicy" } ], "properties": { "created_at": { "description": "The date and time that the instance group manager policy was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this instance group manager policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies/r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group manager policy", "example": "r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance group manager policy. The name is unique across all\npolicies for the instance group manager.", "example": "my-instance-group-manager-policy", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "updated_at": { "description": "The date and time that the instance group manager policy was updated", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "required": [ "created_at", "href", "id", "name", "updated_at" ], "type": "object", "title": "InstanceGroupManagerPolicy" }, "InstanceGroupManagerPolicyCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies?limit=50" }, "limit": 50, "policies": [ { "created_at": "2024-11-18T19:56:00Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies/r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "id": "r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "metric_type": "cpu", "metric_value": 50, "name": "my-instance-group-manager-policy", "policy_type": "target", "updated_at": "2024-11-18T19:56:00Z" } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "policies": { "description": "A page of policies for the instance group manager", "items": { "$ref": "#/components/schemas/InstanceGroupManagerPolicy" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "policies", "total_count" ], "type": "object", "title": "InstanceGroupManagerPolicyCollection" }, "InstanceGroupManagerPolicyPatch": { "properties": { "metric_type": { "description": "The type of metric to be evaluated", "enum": [ "cpu", "memory", "network_in", "network_out" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "metric_value": { "description": "The metric value to be evaluated", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "name": { "description": "The name for this instance group manager policy. The name must not be used by another\npolicy for the instance group manager.", "example": "my-instance-group-manager-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "InstanceGroupManagerPolicyPatch" }, "InstanceGroupManagerPolicyPrototype": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerTargetPolicyPrototype" } ], "properties": { "name": { "description": "The name for this instance group manager policy. The name must not be used by another\npolicy for the instance group manager. If unspecified, the name will be a hyphenated\nlist of randomly-selected words.", "example": "my-instance-group-manager-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "InstanceGroupManagerPolicyPrototype" }, "InstanceGroupManagerPolicyReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies/r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "id": "r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "name": "my-instance-group-manager-policy" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance group manager policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies/r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group manager policy", "example": "r006-ca664290-30eb-4ad7-9fb6-db45731f0be7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance group manager policy. The name is unique across all\npolicies for the instance group manager.", "example": "my-instance-group-manager-policy", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "id", "name" ], "type": "object", "title": "InstanceGroupManagerPolicyReference" }, "InstanceGroupManagerPrototype": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerAutoScalePrototype" }, { "$ref": "#/components/schemas/InstanceGroupManagerScheduledPrototype" } ], "properties": { "management_enabled": { "default": true, "description": "Indicates whether this manager will control the instance group.", "type": "boolean" }, "name": { "description": "The name for this instance group manager. The name must not be used by another manager\nfor the instance group. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-instance-group-manager", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "InstanceGroupManagerPrototype" }, "InstanceGroupManagerReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "id": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "name": "my-instance-group-manager" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance group manager", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group manager", "example": "r006-bd21f31f-8a05-4451-836d-ab0347e91fea", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance group manager. The name is unique across all managers for\nthe instance group.", "example": "my-instance-group-manager", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "id", "name" ], "type": "object", "x-child-schema-suffix": "InstanceGroupManagerReference", "title": "InstanceGroupManagerReference" }, "InstanceGroupManagerScheduled": { "properties": { "actions": { "description": "The actions of the instance group manager", "items": { "$ref": "#/components/schemas/InstanceGroupManagerActionReference" }, "type": "array" }, "manager_type": { "description": "The type of instance group manager.", "enum": [ "scheduled" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "actions", "manager_type" ], "type": "object", "title": "InstanceGroupManagerScheduled" }, "InstanceGroupManagerScheduledAction": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionGroupTarget" }, { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManagerTarget" } ], "properties": { "action_type": { "description": "The type of action for the instance group", "enum": [ "scheduled" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "cron_spec": { "description": "The cron specification for a recurring scheduled action. Actions can be\napplied a maximum of one time within a 5 min period.", "example": "30 */2 * * 1-5", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "last_applied_at": { "description": "The date and time the scheduled action was last applied.\nIf absent, the action has never been applied.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "next_run_at": { "description": "The date and time the scheduled action will next run.\nIf absent, the system is currently calculating the next run time.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "required": [ "action_type" ], "type": "object", "x-child-schema-suffix": "ScheduledAction", "title": "InstanceGroupManagerScheduledAction" }, "InstanceGroupManagerScheduledActionByCronSpec": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByGroup" }, { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByManager" } ], "properties": { "cron_spec": { "description": "The cron specification for a recurring scheduled action. Actions can be\napplied a maximum of one time within a 5 min period.", "example": "30 */2 * * 1-5", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" } }, "type": "object", "x-child-schema-suffix": "ByCronSpec", "title": "InstanceGroupManagerScheduledActionByCronSpec" }, "InstanceGroupManagerScheduledActionByGroup": { "properties": { "group": { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionGroupPrototype" } }, "required": [ "group" ], "type": "object", "x-child-schema-suffix": "ByGroup", "title": "InstanceGroupManagerScheduledActionByGroup" }, "InstanceGroupManagerScheduledActionByManager": { "properties": { "manager": { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManagerPrototype" } }, "required": [ "manager" ], "type": "object", "x-child-schema-suffix": "ByManager", "title": "InstanceGroupManagerScheduledActionByManager" }, "InstanceGroupManagerScheduledActionByRunAt": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByGroup" }, { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByManager" } ], "properties": { "run_at": { "description": "The date and time the scheduled action will run", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "type": "object", "x-child-schema-suffix": "ByRunAt", "title": "InstanceGroupManagerScheduledActionByRunAt" }, "InstanceGroupManagerScheduledActionGroup": { "properties": { "membership_count": { "description": "The desired number of instance group members at the scheduled time", "example": 10, "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "membership_count" ], "type": "object", "title": "InstanceGroupManagerScheduledActionGroup" }, "InstanceGroupManagerScheduledActionGroupPrototype": { "properties": { "membership_count": { "description": "The desired number of instance group members at the scheduled time", "example": 10, "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "membership_count" ], "type": "object", "title": "InstanceGroupManagerScheduledActionGroupPrototype" }, "InstanceGroupManagerScheduledActionGroupTarget": { "properties": { "group": { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionGroup" } }, "required": [ "group" ], "type": "object", "x-child-schema-suffix": "GroupTarget", "title": "InstanceGroupManagerScheduledActionGroupTarget" }, "InstanceGroupManagerScheduledActionManager": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManagerAutoScale" } ], "type": "object", "title": "InstanceGroupManagerScheduledActionManager" }, "InstanceGroupManagerScheduledActionManagerAutoScale": { "allOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerReference" }, { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManagerAutoScalePatch" } ], "x-child-schema-suffix": "AutoScale", "title": "InstanceGroupManagerScheduledActionManagerAutoScale" }, "InstanceGroupManagerScheduledActionManagerAutoScalePatch": { "properties": { "max_membership_count": { "description": "The desired maximum number of instance group members at the scheduled time", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "min_membership_count": { "description": "The desired minimum number of instance group members at the scheduled time", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" } }, "type": "object", "x-child-schema-suffix": "AutoScalePatch", "title": "InstanceGroupManagerScheduledActionManagerAutoScalePatch" }, "InstanceGroupManagerScheduledActionManagerAutoScalePrototype": { "description": "The auto scale manager to update, and one or more properties to be updated. Either `id`\nor `href` must be specified, in addition to at least one of `min_membership_count` and\n`max_membership_count`.", "minProperties": 2, "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerIdentityById" }, { "$ref": "#/components/schemas/InstanceGroupManagerIdentityByHref" } ], "properties": { "max_membership_count": { "description": "The desired maximum number of instance group members at the scheduled time", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" }, "min_membership_count": { "description": "The desired minimum number of instance group members at the scheduled time", "example": 10, "maximum": 1000, "minimum": 1, "type": "integer" } }, "type": "object", "x-child-schema-suffix": "AutoScalePrototype", "title": "InstanceGroupManagerScheduledActionManagerAutoScalePrototype" }, "InstanceGroupManagerScheduledActionManagerPrototype": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManagerAutoScalePrototype" } ], "type": "object", "title": "InstanceGroupManagerScheduledActionManagerPrototype" }, "InstanceGroupManagerScheduledActionManagerTarget": { "properties": { "manager": { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManager" } }, "required": [ "manager" ], "type": "object", "x-child-schema-suffix": "ManagerTarget", "title": "InstanceGroupManagerScheduledActionManagerTarget" }, "InstanceGroupManagerScheduledActionPrototype": { "oneOf": [ { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByRunAt" }, { "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByCronSpec" } ], "type": "object", "x-child-schema-suffix": "ScheduledActionPrototype", "title": "InstanceGroupManagerScheduledActionPrototype" }, "InstanceGroupManagerScheduledPrototype": { "properties": { "manager_type": { "description": "The type of instance group manager.", "enum": [ "scheduled" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "manager_type" ], "type": "object", "title": "InstanceGroupManagerScheduledPrototype" }, "InstanceGroupManagerTargetPolicy": { "properties": { "metric_type": { "description": "The type of metric to be evaluated\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cpu", "memory", "network_in", "network_out" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "metric_value": { "description": "The metric value to be evaluated", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "policy_type": { "description": "The type of policy for the instance group\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "target" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "metric_type", "metric_value", "policy_type" ], "type": "object", "title": "InstanceGroupManagerTargetPolicy" }, "InstanceGroupManagerTargetPolicyPrototype": { "properties": { "metric_type": { "description": "The type of metric to be evaluated", "enum": [ "cpu", "memory", "network_in", "network_out" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "metric_value": { "description": "The metric value to be evaluated", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "policy_type": { "description": "The type of policy for the instance group", "enum": [ "target" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "metric_type", "metric_value", "policy_type" ], "type": "object", "title": "InstanceGroupManagerTargetPolicyPrototype" }, "InstanceGroupMembership": { "example": { "created_at": "2024-11-18T18:54:32Z", "delete_instance_on_membership_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships/r006-32c8210b-fd1a-409f-8966-de85bbfd3741", "id": "r006-32c8210b-fd1a-409f-8966-de85bbfd3741", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_ccd0c9fd-1966-40e8-a8d7-ef2fbe3bcfad", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_ccd0c9fd-1966-40e8-a8d7-ef2fbe3bcfad", "id": "0717_ccd0c9fd-1966-40e8-a8d7-ef2fbe3bcfad", "name": "issuing-reverb-oblivion-seventh-perch-discove-tq6ek486jb-kz8o8" }, "instance_template": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "name": "my-instance-template" }, "name": "my-instance-group-membership", "status": "healthy", "updated_at": "2024-11-18T18:54:32Z" }, "properties": { "created_at": { "description": "The date and time that the instance group manager policy was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "delete_instance_on_membership_delete": { "description": "If set to true, when deleting the membership the instance will also be deleted", "type": "boolean" }, "href": { "description": "The URL for this instance group membership", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships/r006-32c8210b-fd1a-409f-8966-de85bbfd3741", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group membership", "example": "r006-32c8210b-fd1a-409f-8966-de85bbfd3741", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "instance": { "$ref": "#/components/schemas/InstanceReference" }, "instance_template": { "$ref": "#/components/schemas/InstanceTemplateReference" }, "name": { "description": "The name for this instance group membership. The name is unique across all\nmemberships for the instance group.", "example": "my-instance-group-membership", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "pool_member": { "$ref": "#/components/schemas/LoadBalancerPoolMemberReference" }, "status": { "description": "The status of the instance group membership\n- `deleting`: Membership is deleting dependent resources\n- `failed`: Membership was unable to maintain dependent resources\n- `healthy`: Membership is active and serving in the group\n- `pending`: Membership is waiting for dependent resources\n- `unhealthy`: Membership has unhealthy dependent resources\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "deleting", "failed", "healthy", "pending", "unhealthy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "updated_at": { "description": "The date and time that the instance group membership was updated", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "required": [ "created_at", "delete_instance_on_membership_delete", "href", "id", "instance", "instance_template", "name", "status", "updated_at" ], "type": "object", "title": "InstanceGroupMembership" }, "InstanceGroupMembershipCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships?limit=50" }, "limit": 50, "memberships": [ { "created_at": "2024-11-18T18:54:32Z", "delete_instance_on_membership_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships/r006-32c8210b-fd1a-409f-8966-de85bbfd3741", "id": "r006-32c8210b-fd1a-409f-8966-de85bbfd3741", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_ccd0c9fd-1966-40e8-a8d7-ef2fbe3bcfad", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_ccd0c9fd-1966-40e8-a8d7-ef2fbe3bcfad", "id": "0717_ccd0c9fd-1966-40e8-a8d7-ef2fbe3bcfad", "name": "issuing-reverb-oblivion-seventh-perch-discove-tq6ek486jb-kz8o8" }, "instance_template": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "name": "my-instance-template" }, "name": "my-instance-group-membership", "status": "healthy", "updated_at": "2024-11-18T18:54:32Z" }, { "created_at": "2024-11-18T21:03:02Z", "delete_instance_on_membership_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships/r006-04977d01-89c0-488b-a599-3d0dc32880e7", "id": "r006-04977d01-89c0-488b-a599-3d0dc32880e7", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_2bc064dc-f463-46dc-9825-ee6aa2e37927", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_2bc064dc-f463-46dc-9825-ee6aa2e37927", "id": "0717_2bc064dc-f463-46dc-9825-ee6aa2e37927", "name": "issuing-reverb-oblivion-seventh-perch-discove-rjg8mt3dv9-g1e60" }, "instance_template": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "name": "my-instance-template" }, "name": "my-instance-group-membership-2", "status": "healthy", "updated_at": "2024-11-18T21:03:02Z" } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "memberships": { "description": "A page of memberships for the instance group", "items": { "$ref": "#/components/schemas/InstanceGroupMembership" }, "type": "array" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "memberships", "total_count" ], "type": "object", "title": "InstanceGroupMembershipCollection" }, "InstanceGroupMembershipPatch": { "properties": { "delete_instance_on_membership_delete": { "description": "If set to true, when deleting the membership the instance will also be deleted", "type": "boolean" }, "name": { "description": "The name for this instance group membership. The name must not be used by another\nmembership for the instance group manager.", "example": "my-instance-group-membership", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "InstanceGroupMembershipPatch" }, "InstanceGroupPatch": { "description": "To add or update load balancer specification for an instance group\nthe `membership_count` must first be set to 0.", "properties": { "application_port": { "description": "The port to use for new load balancer pool members created by this instance group.\n\nThis property must be set if and only if `load_balancer_pool` has been set.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "instance_template": { "allOf": [ { "$ref": "#/components/schemas/InstanceTemplateIdentity" } ], "description": "The instance template to use when creating new instances.\n\nThe specified template must not have `default_trusted_profile.auto_link` set to `true`." }, "load_balancer": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerIdentity" } ], "description": "The load balancer associated with `load_balancer_pool`.\nThe load balancer must have `instance_groups_supported` set to `true`.\n\nThis property must be set if and only if `load_balancer_pool` has been set." }, "load_balancer_pool": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentity" } ], "description": "If specified, this instance group will manage the load balancer pool. A pool member\nwill be created for each instance created by this group. The specified load\nbalancer pool must not be used by another instance group in the VPC.\n\nIf set, `load_balancer` and `application_port` must also be set." }, "membership_count": { "description": "The number of instances in the instance group", "example": 10, "maximum": 1000, "minimum": 0, "type": "integer" }, "name": { "description": "The name for this instance group. The name must not be used by another instance group in\nthe region.", "example": "my-instance-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "subnets": { "description": "The subnets to use when creating new instances.", "items": { "$ref": "#/components/schemas/SubnetIdentity" }, "type": "array" } }, "type": "object", "title": "InstanceGroupPatch" }, "InstanceGroupPrototype": { "properties": { "application_port": { "description": "The port to use for new load balancer pool members created by this instance group.\nThe load balancer pool member will receive load balancer traffic on this port,\nunless the load balancer listener is using a port range. (Traffic received on a\nlistener using a port range will be sent to members using the same port the listener\nreceived it on.)\n\nThis port will also be used for health checks unless the port property of\n`health_monitor` property is specified.\n\nThis property must be specified if and only if `load_balancer_pool` has been\nspecified.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "instance_template": { "allOf": [ { "$ref": "#/components/schemas/InstanceTemplateIdentity" } ], "description": "The instance template to use when creating new instances.\n\nThe specified template must not have `default_trusted_profile.auto_link` set to `true`." }, "load_balancer": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerIdentity" } ], "description": "The load balancer associated with the specified load balancer pool.\nRequired if `load_balancer_pool` is specified. The load balancer must have\n`instance_groups_supported` set to `true`." }, "load_balancer_pool": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentity" } ], "description": "If specified, this instance group will manage the load balancer pool. A pool member\nwill be created for each instance created by this group. The specified load\nbalancer pool must not be used by another instance group in the VPC.\n\nIf specified, `load_balancer` and `application_port` must also be specified." }, "membership_count": { "default": 0, "description": "The number of instances in the instance group", "example": 10, "maximum": 1000, "minimum": 0, "type": "integer" }, "name": { "description": "The name for this instance group. The name must not be used by another instance group in\nthe region. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-instance-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "subnets": { "description": "The subnets to use when creating new instances.", "items": { "$ref": "#/components/schemas/SubnetIdentity" }, "type": "array" } }, "required": [ "instance_template", "subnets" ], "type": "object", "title": "InstanceGroupPrototype" }, "InstanceGroupReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "id": "r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "name": "my-instance-group" }, "properties": { "crn": { "description": "The CRN for this instance group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance group", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance group", "example": "r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance group. The name is unique across all instance groups in the\nregion.", "example": "my-instance-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "crn", "href", "id", "name" ], "type": "object", "title": "InstanceGroupReference" }, "InstanceHealthReason": { "properties": { "code": { "description": "A reason code for this health state:\n- `reservation_capacity_unavailable`: The reservation affinity pool has no\n available capacity.\n- `reservation_deleted`: The reservation affinity pool has a deleted reservation.\n- `reservation_expired`: The reservation affinity pool has an expired reservation.\n- `reservation_failed`: The reservation affinity pool has a failed reservation.\n\nSee [health\nstatus reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons)\nfor details. The enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "reservation_capacity_unavailable", "reservation_deleted", "reservation_expired", "reservation_failed" ], "example": "reservation_expired", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "The reservation cannot be used because it has expired.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "InstanceHealthReason" }, "InstanceIdentity": { "description": "Identifies a virtual server instance by a unique property.", "example": { "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceIdentityById" }, { "$ref": "#/components/schemas/InstanceIdentityByCRN" }, { "$ref": "#/components/schemas/InstanceIdentityByHref" } ], "type": "object", "title": "InstanceIdentity" }, "InstanceIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this virtual server instance", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "InstanceIdentityByCRN" }, "InstanceIdentityByHref": { "properties": { "href": { "description": "The URL for this virtual server instance", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "InstanceIdentityByHref" }, "InstanceIdentityById": { "properties": { "id": { "description": "The unique identifier for this virtual server instance", "example": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "InstanceIdentityById" }, "InstanceInitialization": { "example": { "default_trusted_profile": { "auto_link": true, "target": { "crn": "crn:v1:bluemix:public:iam-identity::a/aa2432b1fa4d4ace891e9b80fc104e34::profile:Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "resource_type": "trusted_profile" } }, "keys": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "fingerprint": "SHA256:RJ+YWs2kupwFGiJuLqY85twmcdLOUcjIc9cA6IR8n8E", "href": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "name": "my-key-1" } ] }, "properties": { "default_trusted_profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceInitializationDefaultTrustedProfile" }, { "description": "The default trusted profile configuration specified at virtual server instance\ncreation. If absent, no default trusted profile was specified." } ] }, "keys": { "description": "The public SSH keys used at instance initialization.", "items": { "$ref": "#/components/schemas/KeyReference" }, "type": "array" }, "password": { "$ref": "#/components/schemas/InstanceInitializationPassword" } }, "required": [ "keys" ], "type": "object", "title": "InstanceInitialization" }, "InstanceInitializationDefaultTrustedProfile": { "properties": { "auto_link": { "description": "If set to `true`, the system created a link to the specified `target` trusted profile\nduring instance creation. Regardless of whether a link was created by the system or\nmanually using the IAM Identity service, it will be automatically deleted when the\ninstance is deleted.", "example": true, "type": "boolean" }, "target": { "allOf": [ { "$ref": "#/components/schemas/TrustedProfileReference" }, { "description": "The default IAM trusted profile to use for this virtual server instance" } ] } }, "required": [ "auto_link", "target" ], "type": "object", "title": "InstanceInitializationDefaultTrustedProfile" }, "InstanceInitializationEncryptedPassword": { "description": "The administrator password at initialization, encrypted using `encryption_key`, and\nreturned base64-encoded.", "example": "qQ+/YEApnl1ZtEgIrfprzb065307thTkzlnLqL5ICpesdbBN03dyCQ==", "format": "byte", "maxLength": 172, "minLength": 4, "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$", "type": "string", "title": "InstanceInitializationEncryptedPassword" }, "InstanceInitializationPassword": { "properties": { "encrypted_password": { "$ref": "#/components/schemas/InstanceInitializationEncryptedPassword" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/KeyIdentityByFingerprint" }, { "description": "The public SSH key used to encrypt the administrator password." } ] } }, "required": [ "encrypted_password", "encryption_key" ], "type": "object", "title": "InstanceInitializationPassword" }, "InstanceLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `failed_registration`: the instance's registration to Resource Controller has\n failed. Delete the instance and provision it again. If the problem persists,\n contact IBM Support.\n- `internal_error`: internal error (contact IBM support)\n- `pending_registration`: the instance's registration to Resource Controller is\n being processed.\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "failed_registration", "internal_error", "pending_registration", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "InstanceLifecycleReason" }, "InstanceMetadataService": { "description": "The metadata service configuration", "properties": { "enabled": { "description": "Indicates whether the metadata service endpoint is available to the virtual server\ninstance", "type": "boolean" }, "protocol": { "$ref": "#/components/schemas/InstanceMetadataServiceProtocol" }, "response_hop_limit": { "description": "The hop limit (IP time to live) for IP response packets from the metadata service.\nApplies only when the metadata service is enabled.", "maximum": 64, "minimum": 1, "type": "integer" } }, "required": [ "enabled", "protocol", "response_hop_limit" ], "type": "object", "title": "InstanceMetadataService" }, "InstanceMetadataServicePatch": { "description": "The metadata service configuration", "properties": { "enabled": { "description": "Indicates whether the metadata service endpoint will be available to the virtual server\ninstance", "type": "boolean" }, "protocol": { "$ref": "#/components/schemas/InstanceMetadataServiceProtocol" }, "response_hop_limit": { "description": "The hop limit (IP time to live) for IP response packets from the metadata service.\nApplies only when the metadata service is enabled.", "maximum": 64, "minimum": 1, "type": "integer" } }, "type": "object", "title": "InstanceMetadataServicePatch" }, "InstanceMetadataServiceProtocol": { "description": "The communication protocol to use for the metadata service endpoint. Applies only when\nthe metadata service is enabled.\n- `http`: HTTP protocol (unencrypted)\n- `https`: HTTP Secure protocol", "enum": [ "http", "https" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "InstanceMetadataServiceProtocol" }, "InstanceMetadataServicePrototype": { "description": "The metadata service configuration", "properties": { "enabled": { "default": false, "description": "Indicates whether the metadata service endpoint will be available to the virtual server\ninstance", "type": "boolean" }, "protocol": { "default": "http", "description": "The communication protocol to use for the metadata service endpoint. Applies only when\nthe metadata service is enabled.\n- `http`: HTTP protocol (unencrypted)\n- `https`: HTTP Secure protocol", "enum": [ "http", "https" ], "example": "https", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "response_hop_limit": { "default": 1, "description": "The hop limit (IP time to live) for IP response packets from the metadata service.\nApplies only when the metadata service is enabled.", "example": 2, "maximum": 64, "minimum": 1, "type": "integer" } }, "type": "object", "title": "InstanceMetadataServicePrototype" }, "InstanceNetworkAttachment": { "example": { "created_at": "2023-09-30T23:42:32.993Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "lifecycle_state": "stable", "name": "my-instance-network-attachment", "port_speed": 1000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "properties": { "created_at": { "description": "The date and time that the instance network attachment was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this instance network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance network attachment", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the instance network attachment" } ] }, "name": { "description": "The name for this instance network attachment. The name is unique across all\nnetwork attachments for the instance.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "port_speed": { "description": "The port speed for this instance network attachment in Mbps", "example": 1000, "type": "integer" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of the virtual network interface for the instance network\nattachment" } ] }, "resource_type": { "description": "The resource type", "enum": [ "instance_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The subnet of the virtual network interface for the instance network attachment" } ] }, "type": { "description": "The instance network attachment type", "enum": [ "primary", "secondary" ], "example": "primary", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "virtual_network_interface": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfaceReferenceAttachmentContext" }, { "description": "The virtual network interface for this instance network attachment" } ] } }, "required": [ "created_at", "href", "id", "lifecycle_state", "name", "port_speed", "primary_ip", "resource_type", "subnet", "type", "virtual_network_interface" ], "type": "object", "title": "InstanceNetworkAttachment" }, "InstanceNetworkAttachmentCollection": { "example": { "network_attachments": [ { "created_at": "2023-09-30T23:42:32.993Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "lifecycle_state": "stable", "name": "my-instance-network-attachment", "port_speed": 1000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, { "created_at": "2023-09-30T23:42:33.366Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-822a3789-61d5-4b8e-82c5-4310e6b7dc1b", "id": "0717-822a3789-61d5-4b8e-82c5-4310e6b7dc1b", "lifecycle_state": "stable", "name": "my-instance-network-attachment-2", "port_speed": 1000, "primary_ip": { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "name": "my-subnet-z1-2", "resource_type": "subnet" }, "type": "secondary", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-a36aa161-271a-4ea2-825c-0e1216e1035e", "id": "0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "name": "my-virtual-network-interface-2", "resource_type": "virtual_network_interface" } } ] }, "properties": { "network_attachments": { "description": "The network attachments for the instance", "items": { "$ref": "#/components/schemas/InstanceNetworkAttachment" }, "type": "array" } }, "required": [ "network_attachments" ], "type": "object", "title": "InstanceNetworkAttachmentCollection" }, "InstanceNetworkAttachmentIdentity": { "description": "Identifies an instance network attachment by a unique property.", "example": { "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceNetworkAttachmentIdentityById" }, { "$ref": "#/components/schemas/InstanceNetworkAttachmentIdentityByHref" } ], "type": "object", "title": "InstanceNetworkAttachmentIdentity" }, "InstanceNetworkAttachmentIdentityByHref": { "properties": { "href": { "description": "The URL for this instance network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "InstanceNetworkAttachmentIdentityByHref" }, "InstanceNetworkAttachmentIdentityById": { "properties": { "id": { "description": "The unique identifier for this instance network attachment", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "InstanceNetworkAttachmentIdentityById" }, "InstanceNetworkAttachmentPatch": { "properties": { "name": { "description": "The name for this network attachment. The name must not be used by another network\nattachment for the instance.", "example": "my-instance-network-attachment-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "InstanceNetworkAttachmentPatch" }, "InstanceNetworkAttachmentPrototype": { "properties": { "name": { "description": "The name for this network attachment. Names must be unique within the instance the\nnetwork attachment resides in. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "virtual_network_interface": { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototypeVirtualNetworkInterface" } }, "required": [ "virtual_network_interface" ], "type": "object", "title": "InstanceNetworkAttachmentPrototype" }, "InstanceNetworkAttachmentPrototypeVirtualNetworkInterface": { "description": "A virtual network interface for the instance network attachment. This can be specified\nusing an existing virtual network interface, or a prototype object for a new virtual\nnetwork interface.\n\nIf an existing virtual network interface is specified, `enable_infrastructure_nat` must be\n`true`.", "oneOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" } ], "type": "object", "title": "InstanceNetworkAttachmentPrototypeVirtualNetworkInterface" }, "InstanceNetworkAttachmentReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-attachment", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "instance_network_attachment", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" } }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance network attachment", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance network attachment. The name is unique across all\nnetwork attachments for the instance.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of the virtual network interface for the instance network\nattachment" } ] }, "resource_type": { "description": "The resource type", "enum": [ "instance_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The subnet of the virtual network interface for the instance network attachment" } ] }, "virtual_network_interface": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfaceReferenceAttachmentContext" }, { "description": "The virtual network interface for this instance network attachment" } ] } }, "required": [ "href", "id", "name", "primary_ip", "resource_type", "subnet", "virtual_network_interface" ], "type": "object", "title": "InstanceNetworkAttachmentReference" }, "InstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext": { "properties": { "href": { "description": "The URL for this instance network attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_attachments/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance network attachment", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance network attachment. The name is unique across all\nnetwork attachments for the instance.", "example": "my-instance-network-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_network_attachment" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "InstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext" }, "InstancePatch": { "properties": { "availability_policy": { "allOf": [ { "$ref": "#/components/schemas/InstanceAvailabilityPolicyPatch" }, { "description": "The availability policy for this virtual server instance" } ] }, "confidential_compute_mode": { "description": "The confidential compute mode to use for this virtual server instance.\n\nFor this property to be changed, the virtual server instance `status` must be\n`stopping` or `stopped`.", "enum": [ "disabled", "sgx", "tdx" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "x-ibm-release-level": "preview" }, "enable_secure_boot": { "description": "Indicates whether secure boot is enabled for this virtual server instance.\n\nFor this property to be changed, the virtual server instance `status` must be\n`stopping` or `stopped`.", "type": "boolean", "x-ibm-release-level": "preview" }, "metadata_service": { "$ref": "#/components/schemas/InstanceMetadataServicePatch" }, "name": { "description": "The name for this virtual server instance. The name must not be used by another virtual\nserver instance in the region. Changing the name will not affect the system hostname.", "example": "my-instance", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "placement_target": { "$ref": "#/components/schemas/InstancePlacementTargetPatch" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceProfileIdentity" }, { "example": { "name": "bx2-4x16" } }, { "description": "The profile to use for this virtual server instance. Any disks associated with the\ncurrent profile will be deleted, and any disks associated with the requested profile\nwill be created.\n\nFor the profile to be changed, the instance `status` must be `stopping` or `stopped`.\nIn addition, the requested profile must:\n- Be compatible with any `placement_target` constraints. For example, if the\n instance is placed on a dedicated host, the requested profile `family` must be\n the same as the dedicated host `family`.\n- Have the same `vcpu.architecture`.\n- Support the number of network attachments or network interfaces the instance\n currently has." } ] }, "reservation_affinity": { "$ref": "#/components/schemas/InstanceReservationAffinityPatch" }, "total_volume_bandwidth": { "description": "The amount of bandwidth (in megabits per second) allocated exclusively to instance\nstorage volumes. An increase in this value will result in a corresponding decrease to\n`total_network_bandwidth`.", "example": 500, "format": "int32", "type": "integer" } }, "type": "object", "title": "InstancePatch" }, "InstancePlacementTarget": { "description": "The placement restrictions for the virtual server instance", "oneOf": [ { "$ref": "#/components/schemas/DedicatedHostGroupReference" }, { "$ref": "#/components/schemas/DedicatedHostReference" }, { "$ref": "#/components/schemas/PlacementGroupReference" } ], "type": "object", "title": "InstancePlacementTarget" }, "InstancePlacementTargetPatch": { "anyOf": [ { "$ref": "#/components/schemas/DedicatedHostIdentity" }, { "$ref": "#/components/schemas/DedicatedHostGroupIdentity" } ], "description": "The placement restrictions to use for the virtual server instance. For the\nplacement restrictions to be changed, the instance `status` must be `stopping` or\n`stopped`.\n\nIf set, `reservation_affinity.policy` must be `disabled`.", "maxProperties": 1, "type": "object", "title": "InstancePlacementTargetPatch" }, "InstancePlacementTargetPrototype": { "anyOf": [ { "$ref": "#/components/schemas/DedicatedHostIdentity" }, { "$ref": "#/components/schemas/DedicatedHostGroupIdentity" }, { "$ref": "#/components/schemas/PlacementGroupIdentity" } ], "description": "The placement restrictions to use for the virtual server instance.\n\nIf specified, `reservation_affinity.policy` must be `disabled`.", "maxProperties": 1, "type": "object", "title": "InstancePlacementTargetPrototype" }, "InstanceProfile": { "properties": { "bandwidth": { "$ref": "#/components/schemas/InstanceProfileBandwidth" }, "cluster_network_attachment_count": { "$ref": "#/components/schemas/InstanceProfileClusterNetworkAttachmentCount" }, "confidential_compute_modes": { "$ref": "#/components/schemas/InstanceProfileSupportedConfidentialComputeModes" }, "disks": { "$ref": "#/components/schemas/InstanceProfileDisks" }, "family": { "$ref": "#/components/schemas/InstanceProfileFamily" }, "gpu_count": { "$ref": "#/components/schemas/InstanceProfileGPU" }, "gpu_manufacturer": { "$ref": "#/components/schemas/InstanceProfileGPUManufacturer" }, "gpu_memory": { "$ref": "#/components/schemas/InstanceProfileGPUMemory" }, "gpu_model": { "$ref": "#/components/schemas/InstanceProfileGPUModel" }, "href": { "description": "The URL for this virtual server instance profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "memory": { "$ref": "#/components/schemas/InstanceProfileMemory" }, "name": { "description": "The globally unique name for this virtual server instance profile", "example": "bx2-4x16", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "network_attachment_count": { "$ref": "#/components/schemas/InstanceProfileNetworkAttachmentCount" }, "network_interface_count": { "$ref": "#/components/schemas/InstanceProfileNetworkInterfaceCount" }, "numa_count": { "$ref": "#/components/schemas/InstanceProfileNUMACount" }, "os_architecture": { "$ref": "#/components/schemas/InstanceProfileOSArchitecture" }, "port_speed": { "$ref": "#/components/schemas/InstanceProfilePortSpeed" }, "reservation_terms": { "$ref": "#/components/schemas/InstanceProfileReservationTerms" }, "resource_type": { "description": "The resource type", "enum": [ "instance_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "secure_boot_modes": { "$ref": "#/components/schemas/InstanceProfileSupportedSecureBootModes" }, "status": { "$ref": "#/components/schemas/InstanceProfileStatus" }, "supported_cluster_network_profiles": { "$ref": "#/components/schemas/InstanceProfileSupportedClusterNetworkProfiles" }, "total_volume_bandwidth": { "$ref": "#/components/schemas/InstanceProfileVolumeBandwidth" }, "vcpu_architecture": { "$ref": "#/components/schemas/InstanceProfileVCPUArchitecture" }, "vcpu_count": { "$ref": "#/components/schemas/InstanceProfileVCPU" }, "vcpu_manufacturer": { "$ref": "#/components/schemas/InstanceProfileVCPUManufacturer" } }, "required": [ "bandwidth", "cluster_network_attachment_count", "confidential_compute_modes", "disks", "family", "href", "memory", "name", "network_attachment_count", "network_interface_count", "os_architecture", "port_speed", "reservation_terms", "resource_type", "secure_boot_modes", "status", "supported_cluster_network_profiles", "total_volume_bandwidth", "vcpu_architecture", "vcpu_count", "vcpu_manufacturer" ], "type": "object", "title": "InstanceProfile" }, "InstanceProfileBandwidth": { "example": { "type": "fixed", "value": 20000 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileBandwidthFixed" }, { "$ref": "#/components/schemas/InstanceProfileBandwidthRange" }, { "$ref": "#/components/schemas/InstanceProfileBandwidthEnum" }, { "$ref": "#/components/schemas/InstanceProfileBandwidthDependent" } ], "type": "object", "title": "InstanceProfileBandwidth" }, "InstanceProfileBandwidthDependent": { "description": "The total bandwidth shared across the network attachments or network interfaces and\nstorage volumes of an instance with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileBandwidthDependent" }, "InstanceProfileBandwidthEnum": { "description": "The permitted total bandwidth values (in megabits per second) shared across the\nnetwork attachments or network interfaces and storage volumes of an instance\nwith this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 16000, 32000, 48000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileBandwidthEnum" }, "InstanceProfileBandwidthFixed": { "description": "The total bandwidth (in megabits per second) shared across the network attachments or\nnetwork interfaces and storage volumes of an instance with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 20000, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileBandwidthFixed" }, "InstanceProfileBandwidthRange": { "description": "The permitted total bandwidth range (in megabits per second) shared across the network\nattachments or network interfaces and storage volumes of an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 10000, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 80000, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1000, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileBandwidthRange" }, "InstanceProfileClusterNetworkAttachmentCount": { "example": { "max": 32, "min": 0, "step": 8, "type": "range" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileClusterNetworkAttachmentCountDependent" }, { "$ref": "#/components/schemas/InstanceProfileClusterNetworkAttachmentCountEnum" }, { "$ref": "#/components/schemas/InstanceProfileClusterNetworkAttachmentCountRange" } ], "type": "object", "title": "InstanceProfileClusterNetworkAttachmentCount" }, "InstanceProfileClusterNetworkAttachmentCountDependent": { "description": "The number of cluster network attachments supported on an instance\nwith this profile is dependent on its configuration.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileClusterNetworkAttachmentCountDependent" }, "InstanceProfileClusterNetworkAttachmentCountEnum": { "description": "The permitted values for cluster network attachment count for an instance with this\nprofile", "properties": { "default": { "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 0, 8, 16, 32 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "InstanceProfileClusterNetworkAttachmentCountEnum" }, "InstanceProfileClusterNetworkAttachmentCountRange": { "description": "The number of network attachments supported on an instance with this profile", "properties": { "max": { "description": "The maximum value for this profile field", "example": 32, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 8, "type": "integer" }, "step": { "example": 8, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileClusterNetworkAttachmentCountRange" }, "InstanceProfileCollection": { "properties": { "profiles": { "description": "A page of virtual server instance profiles", "items": { "$ref": "#/components/schemas/InstanceProfile" }, "type": "array" } }, "required": [ "profiles" ], "type": "object", "title": "InstanceProfileCollection" }, "InstanceProfileDisk": { "description": "Disks provided by this profile", "properties": { "quantity": { "$ref": "#/components/schemas/InstanceProfileDiskQuantity" }, "size": { "$ref": "#/components/schemas/InstanceProfileDiskSize" }, "supported_interface_types": { "$ref": "#/components/schemas/InstanceProfileDiskSupportedInterfaces" } }, "required": [ "quantity", "size", "supported_interface_types" ], "type": "object", "title": "InstanceProfileDisk" }, "InstanceProfileDiskQuantity": { "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileDiskQuantityFixed" }, { "$ref": "#/components/schemas/InstanceProfileDiskQuantityRange" }, { "$ref": "#/components/schemas/InstanceProfileDiskQuantityEnum" }, { "$ref": "#/components/schemas/InstanceProfileDiskQuantityDependent" } ], "type": "object", "title": "InstanceProfileDiskQuantity" }, "InstanceProfileDiskQuantityDependent": { "description": "The number of disks of this configuration for an instance with this profile depends on\nits instance configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileDiskQuantityDependent" }, "InstanceProfileDiskQuantityEnum": { "description": "The permitted the number of disks of this configuration for an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1, 2, 4, 8 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileDiskQuantityEnum" }, "InstanceProfileDiskQuantityFixed": { "description": "The number of disks of this configuration for an instance with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileDiskQuantityFixed" }, "InstanceProfileDiskQuantityRange": { "description": "The permitted range for the number of disks of this configuration for an instance with\nthis profile", "properties": { "default": { "description": "The default value for this profile field", "example": 1, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 4, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileDiskQuantityRange" }, "InstanceProfileDiskSize": { "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileDiskSizeFixed" }, { "$ref": "#/components/schemas/InstanceProfileDiskSizeRange" }, { "$ref": "#/components/schemas/InstanceProfileDiskSizeEnum" }, { "$ref": "#/components/schemas/InstanceProfileDiskSizeDependent" } ], "type": "object", "title": "InstanceProfileDiskSize" }, "InstanceProfileDiskSizeDependent": { "description": "The disk size in GB (gigabytes) of this configuration for an instance with this profile\ndepends on its instance configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileDiskSizeDependent" }, "InstanceProfileDiskSizeEnum": { "description": "The permitted disk size in GB (gigabytes) of this configuration for an instance with\nthis profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1, 2, 4, 8 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileDiskSizeEnum" }, "InstanceProfileDiskSizeFixed": { "description": "The size of the disk in GB (gigabytes)", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 100, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileDiskSizeFixed" }, "InstanceProfileDiskSizeRange": { "description": "The permitted range for the disk size of this configuration in GB (gigabytes) for an\ninstance with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 100, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 1000, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 100, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 10, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileDiskSizeRange" }, "InstanceProfileDiskSupportedInterfaces": { "properties": { "default": { "description": "The disk interface used for attaching the disk.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "nvme", "virtio_blk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported disk interfaces used for attaching the disk", "items": { "$ref": "#/components/schemas/InstanceDiskInterfaceType" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileDiskSupportedInterfaces" }, "InstanceProfileDisks": { "description": "The disks for an instance with this profile", "items": { "$ref": "#/components/schemas/InstanceProfileDisk" }, "minItems": 0, "type": "array", "title": "InstanceProfileDisks" }, "InstanceProfileFamily": { "description": "The product family this virtual server instance profile belongs to", "example": "balanced", "maxLength": 128, "minLength": 2, "pattern": "^[a-z]+([-_][a-z]+){0,5}$", "type": "string", "title": "InstanceProfileFamily" }, "InstanceProfileGPU": { "example": { "type": "fixed", "value": 2 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileGPUFixed" }, { "$ref": "#/components/schemas/InstanceProfileGPURange" }, { "$ref": "#/components/schemas/InstanceProfileGPUEnum" }, { "$ref": "#/components/schemas/InstanceProfileGPUDependent" } ], "type": "object", "title": "InstanceProfileGPU" }, "InstanceProfileGPUDependent": { "description": "The GPU count for an instance with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileGPUDependent" }, "InstanceProfileGPUEnum": { "description": "The permitted GPU count values for an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 2, 4 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileGPUEnum" }, "InstanceProfileGPUFixed": { "description": "The GPU count for an instance with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 2, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileGPUFixed" }, "InstanceProfileGPUManufacturer": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The possible GPU manufacturer(s) for an instance with this profile", "items": { "description": "The GPU manufacturer.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "amd", "intel", "nvidia" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "InstanceProfileGPUManufacturer" }, "InstanceProfileGPUMemory": { "example": { "type": "fixed", "value": 32 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileGPUMemoryFixed" }, { "$ref": "#/components/schemas/InstanceProfileGPUMemoryRange" }, { "$ref": "#/components/schemas/InstanceProfileGPUMemoryEnum" }, { "$ref": "#/components/schemas/InstanceProfileGPUMemoryDependent" } ], "type": "object", "title": "InstanceProfileGPUMemory" }, "InstanceProfileGPUMemoryDependent": { "description": "The overall GPU memory value for an instance with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileGPUMemoryDependent" }, "InstanceProfileGPUMemoryEnum": { "description": "The permitted overall GPU memory values in GiB (gibibytes) for an instance with this\nprofile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 16, 32 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileGPUMemoryEnum" }, "InstanceProfileGPUMemoryFixed": { "description": "The overall GPU memory in GiB (gibibytes) for an instance with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 16, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileGPUMemoryFixed" }, "InstanceProfileGPUMemoryRange": { "description": "The permitted overall GPU memory range in GiB (gibibytes) for an instance with this\nprofile", "properties": { "default": { "description": "The default value for this profile field", "example": 16, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 32, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 8, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 8, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileGPUMemoryRange" }, "InstanceProfileGPUModel": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The possible GPU model(s) for an instance with this profile", "items": { "description": "The GPU model", "example": "Tesla V100", "maxLength": 120, "minLength": 1, "pattern": "^[-A-Za-z0-9 !$@#%&*'=_+:;,?\\./\\(\\)\\[\\]]+$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "InstanceProfileGPUModel" }, "InstanceProfileGPURange": { "description": "The permitted GPU count range for an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 2, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 4, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileGPURange" }, "InstanceProfileIdentity": { "description": "Identifies an instance profile by a unique property.", "example": { "name": "bx2-4x16" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileIdentityByName" }, { "$ref": "#/components/schemas/InstanceProfileIdentityByHref" } ], "type": "object", "title": "InstanceProfileIdentity" }, "InstanceProfileIdentityByHref": { "properties": { "href": { "description": "The URL for this virtual server instance profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "InstanceProfileIdentityByHref" }, "InstanceProfileIdentityByName": { "properties": { "name": { "description": "The globally unique name for this virtual server instance profile", "example": "bx2-4x16", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "InstanceProfileIdentityByName" }, "InstanceProfileMemory": { "example": { "type": "fixed", "value": 32 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileMemoryFixed" }, { "$ref": "#/components/schemas/InstanceProfileMemoryRange" }, { "$ref": "#/components/schemas/InstanceProfileMemoryEnum" }, { "$ref": "#/components/schemas/InstanceProfileMemoryDependent" } ], "type": "object", "title": "InstanceProfileMemory" }, "InstanceProfileMemoryDependent": { "description": "The memory value for an instance with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileMemoryDependent" }, "InstanceProfileMemoryEnum": { "description": "The permitted memory values (in gibibytes) for an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 8, 16, 32 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileMemoryEnum" }, "InstanceProfileMemoryFixed": { "description": "The memory (in gibibytes) for an instance with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 16, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileMemoryFixed" }, "InstanceProfileMemoryRange": { "description": "The permitted memory range (in gibibytes) for an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 16, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 384, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 8, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 8, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileMemoryRange" }, "InstanceProfileNUMACount": { "example": { "type": "fixed", "value": 2 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileNUMACountFixed" }, { "$ref": "#/components/schemas/InstanceProfileNUMACountDependent" } ], "type": "object", "title": "InstanceProfileNUMACount" }, "InstanceProfileNUMACountDependent": { "description": "The total number of NUMA nodes for an instance with this profile depends on its\nconfiguration and the capacity constraints within the zone.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileNUMACountDependent" }, "InstanceProfileNUMACountFixed": { "description": "The total number of NUMA nodes for an instance with this profile.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 2, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileNUMACountFixed" }, "InstanceProfileNetworkAttachmentCount": { "example": { "max": 5, "min": 1, "type": "range" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileNetworkAttachmentCountRange" }, { "$ref": "#/components/schemas/InstanceProfileNetworkAttachmentCountDependent" } ], "type": "object", "title": "InstanceProfileNetworkAttachmentCount" }, "InstanceProfileNetworkAttachmentCountDependent": { "description": "The number of network attachments supported on an instance\nwith this profile is dependent on its configuration.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileNetworkAttachmentCountDependent" }, "InstanceProfileNetworkAttachmentCountRange": { "description": "The number of network attachments supported on an instance with this profile", "properties": { "max": { "description": "The maximum value for this profile field", "example": 5, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileNetworkAttachmentCountRange" }, "InstanceProfileNetworkInterfaceCount": { "example": { "max": 5, "min": 1, "type": "range" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileNetworkInterfaceCountRange" }, { "$ref": "#/components/schemas/InstanceProfileNetworkInterfaceCountDependent" } ], "type": "object", "title": "InstanceProfileNetworkInterfaceCount" }, "InstanceProfileNetworkInterfaceCountDependent": { "description": "The number of network interfaces supported on an instance\nwith this profile is dependent on its configuration.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileNetworkInterfaceCountDependent" }, "InstanceProfileNetworkInterfaceCountRange": { "description": "The number of network interfaces supported on an instance with this profile", "properties": { "max": { "description": "The maximum value for this profile field", "example": 5, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileNetworkInterfaceCountRange" }, "InstanceProfileOSArchitecture": { "properties": { "default": { "description": "The default OS architecture for an instance with this profile", "example": "amd64", "maxLength": 32, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported OS architecture(s) for an instance with this profile", "items": { "$ref": "#/components/schemas/OperatingSystemArchitecture" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileOSArchitecture" }, "InstanceProfilePortSpeed": { "example": { "type": "fixed", "value": 1000 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfilePortSpeedFixed" }, { "$ref": "#/components/schemas/InstanceProfilePortSpeedDependent" } ], "type": "object", "title": "InstanceProfilePortSpeed" }, "InstanceProfilePortSpeedDependent": { "description": "The port speed of each network interface of an instance with this profile depends\non its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfilePortSpeedDependent" }, "InstanceProfilePortSpeedFixed": { "description": "The maximum speed (in megabits per second) of each network interface of an instance\nwith this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 1000, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfilePortSpeedFixed" }, "InstanceProfileReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, "properties": { "href": { "description": "The URL for this virtual server instance profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this virtual server instance profile", "example": "bx2-4x16", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "instance_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "name", "resource_type" ], "type": "object", "title": "InstanceProfileReference" }, "InstanceProfileReservationTerms": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported committed use terms for a reservation using this profile.", "example": [ "one_year", "three_year" ], "items": { "enum": [ "one_year", "three_year" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 0, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "InstanceProfileReservationTerms" }, "InstanceProfileStatus": { "description": "The status of the instance profile:\n- `previous`: This instance profile is an older revision, but remains provisionable and\n usable.\n- `current`: This profile is the latest revision.\n\nRevisions are indicated by the generation of an instance profile.\nRefer to the [profile naming\nconventions](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui#profiles-naming-rule)\nfor information on how generations are defined within an instance profile.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "current", "previous" ], "example": "current", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "InstanceProfileStatus" }, "InstanceProfileSupportedClusterNetworkProfiles": { "description": "The cluster network profiles that support this instance profile.", "example": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100", "name": "h100", "resource_type": "cluster_network_profile" } ], "items": { "$ref": "#/components/schemas/ClusterNetworkProfileReference" }, "maxItems": 100, "minItems": 0, "type": "array", "title": "InstanceProfileSupportedClusterNetworkProfiles" }, "InstanceProfileSupportedConfidentialComputeModes": { "properties": { "default": { "description": "The default confidential compute mode for this profile.", "enum": [ "disabled", "sgx", "tdx" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported confidential compute modes.", "example": [ "disabled", "sgx" ], "items": { "description": "The confidential compute modes:\n- `disabled`: No confidential compute functionality\n- `sgx`: Intel Software Guard Extensions\n- `tdx`: Intel Trust Domain Extensions\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "disabled", "sgx", "tdx" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileSupportedConfidentialComputeModes" }, "InstanceProfileSupportedSecureBootModes": { "properties": { "default": { "description": "The default secure boot mode for this profile.", "type": "boolean" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported `enable_secure_boot` values for an instance using this profile.", "items": { "type": "boolean" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileSupportedSecureBootModes" }, "InstanceProfileVCPU": { "example": { "type": "fixed", "value": 8 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileVCPUFixed" }, { "$ref": "#/components/schemas/InstanceProfileVCPURange" }, { "$ref": "#/components/schemas/InstanceProfileVCPUEnum" }, { "$ref": "#/components/schemas/InstanceProfileVCPUDependent" } ], "type": "object", "title": "InstanceProfileVCPU" }, "InstanceProfileVCPUArchitecture": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The VCPU architecture for an instance with this profile", "enum": [ "amd64", "s390x" ], "example": "amd64", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileVCPUArchitecture" }, "InstanceProfileVCPUDependent": { "description": "The VCPU count for an instance with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileVCPUDependent" }, "InstanceProfileVCPUEnum": { "description": "The permitted values for VCPU count for an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 2, 4, 16 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileVCPUEnum" }, "InstanceProfileVCPUFixed": { "description": "The VCPU count for an instance with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 16, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileVCPUFixed" }, "InstanceProfileVCPUManufacturer": { "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileVCPUManufacturerFixed" }, { "$ref": "#/components/schemas/InstanceProfileVCPUManufacturerDependent" } ], "type": "object", "title": "InstanceProfileVCPUManufacturer" }, "InstanceProfileVCPUManufacturerDependent": { "description": "The VCPU Manufacturer for an instance with this profile depends on its configuration.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileVCPUManufacturerDependent" }, "InstanceProfileVCPUManufacturerFixed": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The VCPU manufacturer for an instance with this profile", "enum": [ "amd", "ibm", "intel" ], "example": "intel", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileVCPUManufacturerFixed" }, "InstanceProfileVCPURange": { "description": "The permitted range for VCPU count for an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 4, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 56, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 2, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 2, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileVCPURange" }, "InstanceProfileVolumeBandwidth": { "example": { "type": "fixed", "value": 20000 }, "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileVolumeBandwidthFixed" }, { "$ref": "#/components/schemas/InstanceProfileVolumeBandwidthRange" }, { "$ref": "#/components/schemas/InstanceProfileVolumeBandwidthEnum" }, { "$ref": "#/components/schemas/InstanceProfileVolumeBandwidthDependent" } ], "type": "object", "title": "InstanceProfileVolumeBandwidth" }, "InstanceProfileVolumeBandwidthDependent": { "description": "The storage bandwidth shared across the storage volumes of an\ninstance with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "InstanceProfileVolumeBandwidthDependent" }, "InstanceProfileVolumeBandwidthEnum": { "description": "The permitted storage bandwidth values (in megabits per second)\nshared across the storage volumes of an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 16000, 32000, 48000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "InstanceProfileVolumeBandwidthEnum" }, "InstanceProfileVolumeBandwidthFixed": { "description": "The storage bandwidth (in megabits per second) shared across the\nstorage volumes of an instance with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 20000, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "InstanceProfileVolumeBandwidthFixed" }, "InstanceProfileVolumeBandwidthRange": { "description": "The permitted storage bandwidth range (in megabits per second) shared\nacross the storage volumes of an instance with this profile", "properties": { "default": { "description": "The default value for this profile field", "example": 10000, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 80000, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1000, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "InstanceProfileVolumeBandwidthRange" }, "InstancePrototype": { "example": { "boot_volume_attachment": { "volume": { "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "name": "my-boot-volume", "profile": { "name": "general-purpose" } } }, "image": { "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8" }, "keys": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "name": "my-instance", "placement_target": { "id": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871" }, "primary_network_interface": { "name": "my-network-interface", "subnet": { "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e" } }, "profile": { "name": "bx2-2x8" }, "volume_attachments": [ { "volume": { "capacity": 1000, "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "name": "my-data-volume", "profile": { "name": "5iops-tier" } } } ], "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "zone": { "name": "us-south-1" } }, "not": { "$ref": "#/components/schemas/InstanceByImageAndCatalogOffering" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByImage" }, { "$ref": "#/components/schemas/InstanceByCatalogOffering" }, { "$ref": "#/components/schemas/InstanceByVolume" }, { "$ref": "#/components/schemas/InstanceBySourceSnapshot" }, { "$ref": "#/components/schemas/InstanceBySourceTemplate" } ], "properties": { "availability_policy": { "allOf": [ { "$ref": "#/components/schemas/InstanceAvailabilityPolicyPrototype" }, { "description": "The availability policy to use for this virtual server instance" } ] }, "cluster_network_attachments": { "description": "The cluster network attachments to create for this virtual server instance. A cluster\nnetwork attachment represents a device that is connected to a cluster network.\nThe number of network attachments must match one of the values from the instance\nprofile's `cluster_network_attachment_count` before the instance can be started.", "format": "sequence", "items": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentPrototypeInstanceContext" }, "maxItems": 128, "minItems": 0, "type": "array" }, "confidential_compute_mode": { "description": "The confidential compute mode to use for this virtual server instance.\n\nIf unspecified, the default confidential compute mode from the profile will be used.", "enum": [ "disabled", "sgx", "tdx" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "x-ibm-release-level": "preview" }, "default_trusted_profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceDefaultTrustedProfilePrototype" }, { "description": "The default trusted profile configuration to use for this virtual server instance\n\nThis property's value is used when provisioning the virtual server instance, but not\nsubsequently managed. Accordingly, it is reflected as an [instance\ninitialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization)\nproperty." } ] }, "enable_secure_boot": { "description": "Indicates whether secure boot is enabled for this virtual server instance.\n\nIf unspecified, the default secure boot mode from the profile will be used.", "type": "boolean", "x-ibm-release-level": "preview" }, "keys": { "description": "The public SSH keys for this virtual server instance. Keys will be made available to the\nvirtual server instance as cloud-init vendor data. For cloud-init enabled images, these\nkeys will also be added as SSH authorized keys for the [default\nuser](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account).\n\nFor Windows images, the keys of type `rsa` must be specified, and one will be selected\nto encrypt [the administrator\npassword](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are\noptional for other images, but if no keys are specified, the instance will be\ninaccessible unless the specified image provides another means of access.\n\nThis property's value is used when provisioning the virtual server instance, but not\nsubsequently managed. Accordingly, it is reflected as an [instance\ninitialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property", "example": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "items": { "$ref": "#/components/schemas/KeyIdentity" }, "maxItems": 10, "type": "array", "uniqueItems": true }, "metadata_service": { "$ref": "#/components/schemas/InstanceMetadataServicePrototype" }, "name": { "description": "The name for this virtual server instance. The name must not be used by another virtual\nserver instance in the region. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.\n\nThe system hostname will be based on this name.", "example": "my-instance", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "placement_target": { "$ref": "#/components/schemas/InstancePlacementTargetPrototype" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceProfileIdentity" }, { "default": { "name": "bx2-2x8" }, "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this\nvirtual server instance.\n\nIf unspecified, `bx2-2x8` will be used, but this default value is expected to change\nin the future.", "example": { "name": "cx2-16x32" } } ] }, "reservation_affinity": { "$ref": "#/components/schemas/InstanceReservationAffinityPrototype" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "total_volume_bandwidth": { "description": "The amount of bandwidth (in megabits per second) allocated exclusively to instance\nstorage volumes. An increase in this value will result in a corresponding decrease to\n`total_network_bandwidth`.", "example": 500, "format": "int32", "type": "integer" }, "user_data": { "default": "", "description": "The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available\nwhen setting up the virtual server instance.", "maxLength": 65535, "minLength": 0, "pattern": "^[\\s\\S]*$", "type": "string" }, "volume_attachments": { "description": "The additional volume attachments to create for the virtual server instance", "items": { "$ref": "#/components/schemas/VolumeAttachmentPrototype" }, "maxItems": 12, "minItems": 0, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this virtual server instance will reside in.\n\nIf specified, it must match the VPC for the subnets of the instance network\nattachments or instance network interfaces." } ] } }, "type": "object", "title": "InstancePrototype" }, "InstanceReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "properties": { "crn": { "description": "The CRN for this virtual server instance", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this virtual server instance", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this virtual server instance", "example": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this virtual server instance. The name is unique across all virtual\nserver instances in the region.", "example": "my-instance", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "crn", "href", "id", "name" ], "type": "object", "title": "InstanceReference" }, "InstanceReservationAffinity": { "properties": { "policy": { "description": "The reservation affinity policy to use for this virtual server instance:\n- `automatic`: Any reservations with an `affinity_policy` of `automatic`\n that have the same `profile` and `zone` as this virtual server instance\n are available for use.\n- `disabled`: Reservations will not be used\n- `manual`: Reservations in `pool` are available for use", "enum": [ "automatic", "disabled", "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "pool": { "description": "The pool of reservations available for use by this virtual server instance when\nthe `policy` is `manual`. This must be empty if the `policy` is `automatic` or\n`disabled`.", "items": { "$ref": "#/components/schemas/ReservationReference" }, "minItems": 0, "type": "array", "uniqueItems": true } }, "required": [ "policy", "pool" ], "type": "object", "title": "InstanceReservationAffinity" }, "InstanceReservationAffinityPatch": { "properties": { "policy": { "description": "The reservation affinity policy to use for this virtual server instance:\n- `automatic`: Any reservations with an `affinity_policy` of `automatic`\n that have the same `profile` and `zone` as this virtual server instance\n are available for use.\n- `disabled`: Reservations will not be used\n- `manual`: Reservations in `pool` will be available for use\n\nThe policy must be `disabled` if `placement_target` is set.", "enum": [ "automatic", "disabled", "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "pool": { "description": "The pool of reservations available for use by this virtual server instance, replacing\nthe existing pool of reservations.\n\nSpecified reservations must have a `status` of `active`, and have the same `profile`\nand `zone` as this virtual server instance.\n\nIf `policy` is `manual`, `pool` must have one reservation.\nIf `policy` is `disabled` or `automatic`, `pool` must be empty.\nIf `policy` is `manual`, the `pool` must contain a reservation with available capacity.", "items": { "$ref": "#/components/schemas/ReservationIdentity" }, "maxItems": 1, "minItems": 0, "type": "array", "uniqueItems": true } }, "type": "object", "title": "InstanceReservationAffinityPatch" }, "InstanceReservationAffinityPrototype": { "description": "The reservation affinity settings for this virtual server instance. If specified,\n`vcpu.tenancy` must be `dedicated`, and `vcpu.percentage` must be `100`.", "properties": { "policy": { "description": "The reservation affinity policy to use for this virtual server instance:\n- `disabled`: Reservations will not be used\n- `manual`: Reservations in `pool` will be available for use\n- `automatic`: Reservations with an `affinity_policy` of `automatic` that have the same\n `profile` and `zone` as this virtual server instance will be available for use.\n\nThe policy will default to `manual` if `pool` is not empty. The policy will default to\n`disabled` if a `placement_target` is set. The policy will default to `automatic`\nin all other cases.\n\nThe policy must be `disabled` if `placement_target` is specified.", "enum": [ "automatic", "disabled", "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "pool": { "default": [], "description": "The pool of reservations available for use by this virtual server instance.\n\nSpecified reservations must have a `status` of `active`, and have the same `profile`\nand `zone` as this virtual server instance.\n\nIf `policy` is `manual`, `pool` must be specified with one reservation.\nIf `policy` is `disabled` or `automatic` and `pool` is specified, it must be empty.\nIf `policy` is `manual`, the `pool` must contain a reservation with available\ncapacity.", "items": { "$ref": "#/components/schemas/ReservationIdentity" }, "maxItems": 1, "minItems": 0, "type": "array", "uniqueItems": true } }, "type": "object", "title": "InstanceReservationAffinityPrototype" }, "InstanceStatusReason": { "properties": { "code": { "description": "A snake case string succinctly identifying the status reason.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_start", "cannot_start_capacity", "cannot_start_compute", "cannot_start_ip_address", "cannot_start_network", "cannot_start_placement_group", "cannot_start_reservation_capacity", "cannot_start_reservation_expired", "cannot_start_storage", "encryption_key_deleted", "stopped_by_host_failure", "stopped_for_image_creation" ], "example": "cannot_start_storage", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "example": "The virtual server instance is unusable because the encryption key for the boot volume\nhas been deleted", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "InstanceStatusReason" }, "InstanceTemplate": { "example": { "boot_volume_attachment": { "name": "my-volume-attachment", "volume": { "name": "my-boot-volume", "profile": { "name": "general-purpose" } } }, "created_at": "2025-02-04T13:41:00Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "image": { "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8" }, "keys": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "name": "my-instance-template", "primary_network_attachment": { "virtual_network_interface": { "subnet": { "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e" } } }, "profile": { "name": "bx2-4x16" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "security_groups": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "zone": { "name": "us-south-1" } }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByImageInstanceTemplateContext" }, { "$ref": "#/components/schemas/InstanceBySourceSnapshotInstanceTemplateContext" }, { "$ref": "#/components/schemas/InstanceByCatalogOfferingInstanceTemplateContext" } ], "properties": { "availability_policy": { "allOf": [ { "$ref": "#/components/schemas/InstanceAvailabilityPolicyPrototype" }, { "description": "The availability policy to use for this virtual server instance" } ] }, "cluster_network_attachments": { "description": "The cluster network attachments to create for this virtual server instance. A cluster\nnetwork attachment represents a device that is connected to a cluster network.\nThe number of network attachments must match one of the values from the instance\nprofile's `cluster_network_attachment_count` before the instance can be started.", "format": "sequence", "items": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentPrototypeInstanceContext" }, "maxItems": 128, "minItems": 0, "type": "array" }, "confidential_compute_mode": { "description": "The confidential compute mode to use for this virtual server instance.\n\nIf unspecified, the default confidential compute mode from the profile will be used.", "enum": [ "disabled", "sgx", "tdx" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "x-ibm-release-level": "preview" }, "created_at": { "description": "The date and time that the instance template was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this instance template", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "default_trusted_profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceDefaultTrustedProfilePrototype" }, { "description": "The default trusted profile configuration to use for this virtual server instance\n\nThis property's value is used when provisioning the virtual server instance, but not\nsubsequently managed. Accordingly, it is reflected as an [instance\ninitialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization)\nproperty." } ] }, "enable_secure_boot": { "description": "Indicates whether secure boot is enabled for this virtual server instance.\n\nIf unspecified, the default secure boot mode from the profile will be used.", "type": "boolean", "x-ibm-release-level": "preview" }, "href": { "description": "The URL for this instance template", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance template", "example": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "keys": { "description": "The public SSH keys for this virtual server instance. Keys will be made available to the\nvirtual server instance as cloud-init vendor data. For cloud-init enabled images, these\nkeys will also be added as SSH authorized keys for the [default\nuser](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account).\n\nFor Windows images, the keys of type `rsa` must be specified, and one will be selected\nto encrypt [the administrator\npassword](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are\noptional for other images, but if no keys are specified, the instance will be\ninaccessible unless the specified image provides another means of access.\n\nThis property's value is used when provisioning the virtual server instance, but not\nsubsequently managed. Accordingly, it is reflected as an [instance\ninitialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property", "example": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "items": { "$ref": "#/components/schemas/KeyIdentity" }, "maxItems": 10, "type": "array", "uniqueItems": true }, "metadata_service": { "$ref": "#/components/schemas/InstanceMetadataServicePrototype" }, "name": { "description": "The name for this instance template. The name is unique across all instance templates\nin the region.", "example": "my-instance-template", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "placement_target": { "$ref": "#/components/schemas/InstancePlacementTargetPrototype" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceProfileIdentity" }, { "default": { "name": "bx2-2x8" }, "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this\nvirtual server instance.\n\nIf unspecified, `bx2-2x8` will be used, but this default value is expected to change\nin the future.", "example": { "name": "cx2-16x32" } } ] }, "reservation_affinity": { "$ref": "#/components/schemas/InstanceReservationAffinityPrototype" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this instance template" } ] }, "total_volume_bandwidth": { "description": "The amount of bandwidth (in megabits per second) allocated exclusively to instance\nstorage volumes. An increase in this value will result in a corresponding decrease to\n`total_network_bandwidth`.", "example": 500, "format": "int32", "type": "integer" }, "user_data": { "default": "", "description": "The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available\nwhen setting up the virtual server instance.", "maxLength": 65535, "minLength": 0, "pattern": "^[\\s\\S]*$", "type": "string" }, "volume_attachments": { "description": "The additional volume attachments to create for the virtual server instance", "items": { "$ref": "#/components/schemas/VolumeAttachmentPrototype" }, "maxItems": 12, "minItems": 0, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this virtual server instance will reside in.\n\nIf specified, it must match the VPC for the subnets of the instance network\nattachments or instance network interfaces." } ] } }, "required": [ "created_at", "crn", "href", "id", "name", "resource_group" ], "type": "object", "title": "InstanceTemplate" }, "InstanceTemplateByCatalogOffering": { "description": "Create an instance template that creates instances by using a catalog offering.", "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "catalog_offering": { "$ref": "#/components/schemas/InstanceCatalogOfferingPrototype" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "catalog_offering", "zone" ], "type": "object", "title": "InstanceTemplateByCatalogOffering" }, "InstanceTemplateByImage": { "description": "Create an instance template that creates instances by using an image.\n\nThe image's `user_data_format` must be `cloud_init`.", "not": { "$ref": "#/components/schemas/InstanceBySourceTemplate" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "image": { "allOf": [ { "$ref": "#/components/schemas/ImageIdentity" }, { "description": "The image to use when provisioning the virtual server instance.", "example": { "id": "r006-02c73baf-9abb-493d-9e41-d0f1866f4051" } } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "image", "zone" ], "type": "object", "title": "InstanceTemplateByImage" }, "InstanceTemplateBySourceSnapshot": { "description": "Create an instance template that creates instances by using a snapshot.", "not": { "$ref": "#/components/schemas/InstanceByImageOrCatalogOffering" }, "oneOf": [ { "$ref": "#/components/schemas/InstanceByNetworkAttachment" }, { "$ref": "#/components/schemas/InstanceByNetworkInterface" } ], "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceBySourceSnapshotContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "boot_volume_attachment", "zone" ], "type": "object", "title": "InstanceTemplateBySourceSnapshot" }, "InstanceTemplateBySourceTemplate": { "description": "Create an instance template from an existing source instance template.\n\nThe `primary_network_attachment` and `network_attachments` properties may only\nbe specified if `primary_network_attachment` is specified in the source template.\n\nThe `primary_network_interface` and `network_interfaces` properties may only\nbe specified if `primary_network_interface` is specified in the source template.", "properties": { "boot_volume_attachment": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentPrototypeInstanceByImageContext" }, { "description": "The boot volume attachment to create for the virtual server instance" } ] }, "catalog_offering": { "allOf": [ { "$ref": "#/components/schemas/InstanceCatalogOfferingPrototype" } ], "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering version to use when provisioning this virtual server instance.\nIf an offering is specified, the latest version of that offering will be used.\n\nThe specified offering or offering version may be in a different account, subject to\nIAM policies.\n\nIf specified, `image` must not be specified, and `source_template` must not have\n`image` specified." }, "image": { "allOf": [ { "$ref": "#/components/schemas/ImageIdentity" }, { "description": "The image to use when provisioning the virtual server instance.", "example": { "id": "r006-02c73baf-9abb-493d-9e41-d0f1866f4051" } } ], "description": "The image to use when provisioning the virtual server instance.\n\nIf specified, `catalog_offering` must not be specified, and `source_template` must\nnot have `catalog_offering` specified." }, "network_attachments": { "description": "The additional network attachments to create for the virtual server instance.", "items": { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "network_interfaces": { "description": "The additional instance network interfaces to create.", "items": { "$ref": "#/components/schemas/NetworkInterfacePrototype" }, "maxItems": 14, "minItems": 0, "type": "array" }, "primary_network_attachment": { "allOf": [ { "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype" }, { "description": "The primary network attachment to create for the virtual server instance" } ] }, "primary_network_interface": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfacePrototype" }, { "description": "The primary instance network interface to create" } ] }, "source_template": { "allOf": [ { "$ref": "#/components/schemas/InstanceTemplateIdentity" } ], "description": "The template to create this virtual server instance from." }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this virtual server instance will reside in" } ] } }, "required": [ "source_template" ], "type": "object", "title": "InstanceTemplateBySourceTemplate" }, "InstanceTemplateCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates?limit=50" }, "limit": 50, "templates": [ { "boot_volume_attachment": { "name": "my-volume-attachment", "volume": { "name": "my-boot-volume", "profile": { "name": "general-purpose" } } }, "created_at": "2025-02-04T13:41:00Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "image": { "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8" }, "keys": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "name": "my-instance-template", "primary_network_attachment": { "virtual_network_interface": { "subnet": { "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e" } } }, "profile": { "name": "bx2-4x16" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "security_groups": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "zone": { "name": "us-south-1" } } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "templates": { "description": "A page of instance templates", "items": { "$ref": "#/components/schemas/InstanceTemplate" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "templates", "total_count" ], "type": "object", "title": "InstanceTemplateCollection" }, "InstanceTemplateIdentity": { "description": "Identifies an instance template by a unique property.", "oneOf": [ { "$ref": "#/components/schemas/InstanceTemplateIdentityById" }, { "$ref": "#/components/schemas/InstanceTemplateIdentityByHref" }, { "$ref": "#/components/schemas/InstanceTemplateIdentityByCRN" } ], "type": "object", "title": "InstanceTemplateIdentity" }, "InstanceTemplateIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this instance template", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "InstanceTemplateIdentityByCRN" }, "InstanceTemplateIdentityByHref": { "properties": { "href": { "description": "The URL for this instance template", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "InstanceTemplateIdentityByHref" }, "InstanceTemplateIdentityById": { "properties": { "id": { "description": "The unique identifier for this instance template", "example": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "InstanceTemplateIdentityById" }, "InstanceTemplatePatch": { "properties": { "name": { "description": "The name for this instance template. The name must not be used by another instance\ntemplate in the region.", "example": "my-instance-template", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "InstanceTemplatePatch" }, "InstanceTemplatePrototype": { "example": { "boot_volume_attachment": { "name": "my-volume-attachment", "volume": { "name": "my-boot-volume", "profile": { "name": "general-purpose" } } }, "image": { "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8" }, "keys": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "primary_network_attachment": { "virtual_network_interface": { "subnet": { "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e" } } }, "profile": { "name": "bx2-4x16" }, "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345" }, "security_groups": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "zone": { "name": "us-south-1" } }, "oneOf": [ { "$ref": "#/components/schemas/InstanceTemplateByImage" }, { "$ref": "#/components/schemas/InstanceTemplateBySourceTemplate" }, { "$ref": "#/components/schemas/InstanceTemplateBySourceSnapshot" }, { "$ref": "#/components/schemas/InstanceTemplateByCatalogOffering" } ], "properties": { "availability_policy": { "allOf": [ { "$ref": "#/components/schemas/InstanceAvailabilityPolicyPrototype" }, { "description": "The availability policy to use for this virtual server instance" } ] }, "cluster_network_attachments": { "description": "The cluster network attachments to create for this virtual server instance. A cluster\nnetwork attachment represents a device that is connected to a cluster network.\nThe number of network attachments must match one of the values from the instance\nprofile's `cluster_network_attachment_count` before the instance can be started.", "format": "sequence", "items": { "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentPrototypeInstanceContext" }, "maxItems": 128, "minItems": 0, "type": "array" }, "confidential_compute_mode": { "description": "The confidential compute mode to use for this virtual server instance.\n\nIf unspecified, the default confidential compute mode from the profile will be used.", "enum": [ "disabled", "sgx", "tdx" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "x-ibm-release-level": "preview" }, "default_trusted_profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceDefaultTrustedProfilePrototype" }, { "description": "The default trusted profile configuration to use for this virtual server instance\n\nThis property's value is used when provisioning the virtual server instance, but not\nsubsequently managed. Accordingly, it is reflected as an [instance\ninitialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization)\nproperty." } ] }, "enable_secure_boot": { "description": "Indicates whether secure boot is enabled for this virtual server instance.\n\nIf unspecified, the default secure boot mode from the profile will be used.", "type": "boolean", "x-ibm-release-level": "preview" }, "keys": { "description": "The public SSH keys for this virtual server instance. Keys will be made available to the\nvirtual server instance as cloud-init vendor data. For cloud-init enabled images, these\nkeys will also be added as SSH authorized keys for the [default\nuser](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account).\n\nFor Windows images, the keys of type `rsa` must be specified, and one will be selected\nto encrypt [the administrator\npassword](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are\noptional for other images, but if no keys are specified, the instance will be\ninaccessible unless the specified image provides another means of access.\n\nThis property's value is used when provisioning the virtual server instance, but not\nsubsequently managed. Accordingly, it is reflected as an [instance\ninitialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property", "example": [ { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" } ], "items": { "$ref": "#/components/schemas/KeyIdentity" }, "maxItems": 10, "type": "array", "uniqueItems": true }, "metadata_service": { "$ref": "#/components/schemas/InstanceMetadataServicePrototype" }, "name": { "description": "The name for this instance template. The name must not be used by another instance\ntemplate in the region. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-instance", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "placement_target": { "$ref": "#/components/schemas/InstancePlacementTargetPrototype" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/InstanceProfileIdentity" }, { "default": { "name": "bx2-2x8" }, "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this\nvirtual server instance.\n\nIf unspecified, `bx2-2x8` will be used, but this default value is expected to change\nin the future.", "example": { "name": "cx2-16x32" } } ] }, "reservation_affinity": { "$ref": "#/components/schemas/InstanceReservationAffinityPrototype" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "total_volume_bandwidth": { "description": "The amount of bandwidth (in megabits per second) allocated exclusively to instance\nstorage volumes. An increase in this value will result in a corresponding decrease to\n`total_network_bandwidth`.", "example": 500, "format": "int32", "type": "integer" }, "user_data": { "default": "", "description": "The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available\nwhen setting up the virtual server instance.", "maxLength": 65535, "minLength": 0, "pattern": "^[\\s\\S]*$", "type": "string" }, "volume_attachments": { "description": "The additional volume attachments to create for the virtual server instance", "items": { "$ref": "#/components/schemas/VolumeAttachmentPrototype" }, "maxItems": 12, "minItems": 0, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this virtual server instance will reside in.\n\nIf specified, it must match the VPC for the subnets of the instance network\nattachments or instance network interfaces." } ] } }, "type": "object", "title": "InstanceTemplatePrototype" }, "InstanceTemplateReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "name": "my-instance-template" }, "properties": { "crn": { "description": "The CRN for this instance template", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance template", "example": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates/0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this instance template", "example": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance template. The name is unique across all instance templates\nin the region.", "example": "my-instance-template", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "crn", "href", "id", "name" ], "type": "object", "title": "InstanceTemplateReference" }, "InstanceVCPU": { "description": "The virtual server instance VCPU configuration", "example": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "properties": { "architecture": { "description": "The VCPU architecture.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "amd64", "s390x" ], "example": "amd64", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "count": { "description": "The number of VCPUs assigned", "example": 4, "minimum": 1, "type": "integer" }, "manufacturer": { "$ref": "#/components/schemas/VCPUManufacturer" } }, "required": [ "architecture", "count", "manufacturer" ], "type": "object", "title": "InstanceVCPU" }, "Key": { "example": { "created_at": "2019-01-29T03:48:11.000Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "fingerprint": "SHA256:RJ+YWs2kupwFGiJuLqY85twmcdLOUcjIc9cA6IR8n8E", "href": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "length": 2048, "name": "my-key-1", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "type": "rsa" }, "properties": { "created_at": { "description": "The date and time that the key was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this key", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "fingerprint": { "description": "The fingerprint for this key. The value is returned base64-encoded and prefixed\nwith the hash algorithm (such as `SHA256`).\n\nThe length of this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY", "maxLength": 71, "minLength": 6, "pattern": "^[ -~]*$", "type": "string" }, "href": { "description": "The URL for this key", "example": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this key", "example": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "length": { "description": "The length of this key (in bits)", "enum": [ 2048, 256, 4096 ], "format": "int32", "type": "integer" }, "name": { "description": "The name for this key. The name must not be used by another key in the region. If\nunspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-key-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "public_key": { "description": "The public SSH key, consisting of two space-separated fields: the algorithm name, and\nthe base64-encoded key.", "example": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En", "maxLength": 8192, "minLength": 4, "pattern": "^[ -~]*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this key" } ] }, "type": { "description": "The crypto-system for this key.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "ed25519", "rsa" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "created_at", "crn", "fingerprint", "href", "id", "length", "name", "public_key", "resource_group", "type" ], "type": "object", "title": "Key" }, "KeyCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/keys?limit=50" }, "keys": [ { "created_at": "2019-01-29T03:48:11.000Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "fingerprint": "SHA256:RJ+YWs2kupwFGiJuLqY85twmcdLOUcjIc9cA6IR8n8E", "href": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "length": 2048, "name": "my-key-1", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "type": "rsa" }, { "created_at": "2024-10-01T21:46:21.000Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-a9f3ae27-4769-43e3-b5a3-a2856fbad468", "fingerprint": "SHA256:XgUFJWiZbPehNHl706+mJbZdPDmSJh8G2ycvCYR2t5U", "href": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-a9f3ae27-4769-43e3-b5a3-a2856fbad468", "id": "r006-a9f3ae27-4769-43e3-b5a3-a2856fbad468", "length": 2048, "name": "my-key-2", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6iw94c1htpVzC33sd874W6SeTZ9pGDZdY50vsnPUpYVfuU9WDscyy/NYVR74ZvSw1vN1QK57GEW46Uhh2JdvyQ1jiMPI6amu6bHiBqnWTo3HUFPBoxM9/3j0MhspjGyrO7JK3fOwyGrnquAqRq5BPibN8JLuZwCfVyucz98hEmnf9sEphJ5ab3ywVU3echaJZBEdUNEf2ZAHGGe5qnVW33y4PmRf5q90mPkJYwjTgTjZ3fPG2lV01S3eTbHV7zr1wxW4FSTFm7dVnfTURPzKc7mL4MS35s9gX73imvZL6O9ZH54IDoB8TBhx0U5657n6MoznFeXVcFSDLLpMXf7Gr", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "type": "rsa" } ], "limit": 50, "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/keys?limit=20" } }, "keys": { "description": "A page of keys", "items": { "$ref": "#/components/schemas/Key" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/keys?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "keys", "limit", "total_count" ], "type": "object", "title": "KeyCollection" }, "KeyIdentity": { "description": "Identifies a key by a unique property.", "example": { "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45" }, "oneOf": [ { "$ref": "#/components/schemas/KeyIdentityById" }, { "$ref": "#/components/schemas/KeyIdentityByCRN" }, { "$ref": "#/components/schemas/KeyIdentityByHref" }, { "$ref": "#/components/schemas/KeyIdentityByFingerprint" } ], "type": "object", "title": "KeyIdentity" }, "KeyIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this key", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "KeyIdentityByCRN" }, "KeyIdentityByFingerprint": { "properties": { "fingerprint": { "description": "The fingerprint for this key. The value is returned base64-encoded and prefixed\nwith the hash algorithm (such as `SHA256`).\n\nThe length of this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY", "maxLength": 71, "minLength": 6, "pattern": "^[ -~]*$", "type": "string" } }, "required": [ "fingerprint" ], "type": "object", "title": "KeyIdentityByFingerprint" }, "KeyIdentityByHref": { "properties": { "href": { "description": "The URL for this key", "example": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "KeyIdentityByHref" }, "KeyIdentityById": { "properties": { "id": { "description": "The unique identifier for this key", "example": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "KeyIdentityById" }, "KeyPatch": { "properties": { "name": { "description": "The name for this key. The name must not be used by another key in the region.", "example": "my-key-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "KeyPatch" }, "KeyPrototype": { "properties": { "name": { "description": "The name for this key. The name must not be used by another key in the region. If\nunspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-key-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "public_key": { "description": "The public SSH key to use, in OpenSSH format (consisting of three space-separated\nfields: the algorithm name, base64-encoded key value, and a comment). The algorithm and\ncomment fields may be omitted, as only the key field is used.\n\nThe key field must not match another key in the region.\n\nKeys of type `rsa` must be 2048 or 4096 bits in length (4096 is recommended).\nKeys of type `ed25519` must be 256 bits in length.", "example": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En", "maxLength": 8192, "minLength": 4, "pattern": "^[ -~]*$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "type": { "default": "rsa", "description": "The crypto-system for this key.", "enum": [ "ed25519", "rsa" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "public_key" ], "type": "object", "title": "KeyPrototype" }, "KeyReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "fingerprint": "SHA256:RJ+YWs2kupwFGiJuLqY85twmcdLOUcjIc9cA6IR8n8E", "href": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "name": "my-key-1" }, "properties": { "crn": { "description": "The CRN for this key", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "fingerprint": { "description": "The fingerprint for this key. The value is returned base64-encoded and prefixed\nwith the hash algorithm (such as `SHA256`).\n\nThe length of this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY", "maxLength": 71, "minLength": 6, "pattern": "^[ -~]*$", "type": "string" }, "href": { "description": "The URL for this key", "example": "https://us-south.iaas.cloud.ibm.com/v1/keys/r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this key", "example": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this key. The name is unique across all keys in the region.", "example": "my-key-1", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "crn", "fingerprint", "href", "id", "name" ], "type": "object", "title": "KeyReference" }, "LegacyCloudObjectStorageBucketIdentity": { "description": "Identifies a Cloud Object Storage bucket by a unique property.", "example": { "name": "bucket-27200-lwx4cfvcue" }, "oneOf": [ { "$ref": "#/components/schemas/CloudObjectStorageBucketIdentityByName" } ], "type": "object", "title": "LegacyCloudObjectStorageBucketIdentity" }, "LegacyCloudObjectStorageBucketReference": { "example": { "name": "bucket-27200-lwx4cfvcue" }, "properties": { "name": { "description": "The globally unique name of this Cloud Object Storage bucket", "example": "bucket-27200-lwx4cfvcue", "maxLength": 63, "minLength": 3, "pattern": "^[a-z0-9]{1}[-a-z0-9]{1,61}[a-z0-9]{1}$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "LegacyCloudObjectStorageBucketReference" }, "LifecycleState": { "enum": [ "deleting", "failed", "pending", "stable", "suspended", "updating", "waiting" ], "example": "stable", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "LifecycleState" }, "LoadBalancer": { "example": { "access_mode": "private", "attached_load_balancer_pool_members": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a" } ], "availability": "subnet", "created_at": "2024-11-11T01:02:42Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "failsafe_policy_actions": [ "forward", "fail", "drop" ], "hostname": "7b6dc78d.lb.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "instance_groups_supported": true, "is_private_path": false, "is_public": true, "listeners": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-6a034f25-06b4-4cc3-8e3f-6a372616798b", "id": "r006-6a034f25-06b4-4cc3-8e3f-6a372616798b" } ], "logging": { "datapath": { "active": true } }, "name": "my-load-balancer", "operating_status": "online", "pools": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-2c431ab3-0151-11e9-a178-22dd3503b06c", "id": "r006-2c431ab3-0151-11e9-a178-22dd3503b06c", "name": "my-load-balancer-pool-1" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-b91f9900-09ba-4539-a4a8-9e0cb4e2c1c0", "id": "r006-b91f9900-09ba-4539-a4a8-9e0cb4e2c1c0", "name": "my-load-balancer-pool-2" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-32506c77-3f8a-4779-94bc-4a349eb6bc4e", "id": "r006-32506c77-3f8a-4779-94bc-4a349eb6bc4e", "name": "my-load-balancer-pool-3" } ], "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "profile": { "family": "application", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic", "name": "dynamic" }, "provisioning_status": "active", "public_ips": [ { "address": "192.0.2.44" }, { "address": "192.0.2.56" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "load_balancer", "route_mode": false, "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "security_groups_supported": true, "source_ip_session_persistence_supported": false, "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "udp_supported": true }, "properties": { "access_mode": { "$ref": "#/components/schemas/LoadBalancerAccessMode" }, "attached_load_balancer_pool_members": { "description": "The load balancer pool members attached to this load balancer.", "items": { "$ref": "#/components/schemas/LoadBalancerPoolMemberReference" }, "minItems": 0, "type": "array" }, "availability": { "$ref": "#/components/schemas/LoadBalancerAvailability" }, "created_at": { "description": "The date and time that this load balancer was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this load balancer", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "dns": { "$ref": "#/components/schemas/LoadBalancerDNS" }, "failsafe_policy_actions": { "description": "The supported `failsafe_policy.action` values for this load balancer's pools", "items": { "description": "A load balancer failsafe policy action:\n- `bypass`: Bypasses the members and sends requests directly to their destination IPs.\n- `drop`: Drops requests.\n- `fail`: Fails requests with an HTTP `503` status code.\n- `forward`: Forwards requests to the `target` pool.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "bypass", "drop", "fail", "forward" ], "example": "forward", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array", "uniqueItems": true }, "hostname": { "description": "The fully qualified domain name assigned to this load balancer", "example": "6b88d615-us-south.lb.appdomain.cloud", "maxLength": 255, "minLength": 4, "pattern": "^((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string" }, "href": { "description": "The URL for this load balancer", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer", "example": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "instance_groups_supported": { "description": "Indicates whether this load balancer supports instance groups.", "example": true, "type": "boolean" }, "is_private_path": { "description": "Indicates whether this is a private path load balancer.", "example": true, "type": "boolean" }, "is_public": { "description": "The type of this load balancer, public or private", "example": true, "type": "boolean" }, "listeners": { "description": "The listeners of this load balancer", "items": { "$ref": "#/components/schemas/LoadBalancerListenerReference" }, "type": "array" }, "logging": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerLogging" } ], "description": "The logging configuration for this load balancer." }, "name": { "description": "The name for this load balancer. The name is unique across all load balancers in the\nVPC.", "example": "my-load-balancer", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "operating_status": { "description": "The operating status of this load balancer.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "offline", "online" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "pools": { "description": "The pools of this load balancer", "items": { "$ref": "#/components/schemas/LoadBalancerPoolReference" }, "type": "array" }, "private_ips": { "description": "The private IP addresses assigned to this load balancer.\n\nWill be empty if `is_private` is `false`.", "items": { "$ref": "#/components/schemas/ReservedIPReference" }, "type": "array" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileReference" }, { "description": "The profile for this load balancer" } ] }, "provisioning_status": { "description": "The provisioning status of this load balancer:\n- `active`: The load balancer is running.\n- `create_pending`: The load balancer is being created.\n- `delete_pending`: The load balancer is being deleted.\n- `maintenance_pending`: The load balancer is unavailable due to an internal\n error (contact IBM support).\n- `migrate_pending`: The load balancer is migrating to the requested configuration.\n Performance may be degraded.\n- `update_pending`: The load balancer is being updated\n to the requested configuration.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "create_pending", "delete_pending", "failed", "maintenance_pending", "migrate_pending", "update_pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "public_ips": { "description": "The public IP addresses assigned to this load balancer.\n\nWill be empty if `is_public` is `false`.", "items": { "$ref": "#/components/schemas/IP" }, "type": "array" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this load balancer" } ] }, "resource_type": { "description": "The resource type", "enum": [ "load_balancer" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "route_mode": { "description": "Indicates whether [route\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) is enabled for this\nload balancer.\n\nAt present, public load balancers are not supported with route mode enabled.", "example": true, "type": "boolean" }, "security_groups": { "description": "The security groups targeting this load balancer.\n\nIf empty, all inbound and outbound traffic is allowed.", "items": { "$ref": "#/components/schemas/SecurityGroupReference" }, "type": "array", "uniqueItems": true }, "security_groups_supported": { "description": "Indicates whether this load balancer supports security groups.", "type": "boolean" }, "source_ip_session_persistence_supported": { "description": "Indicates whether this load balancer supports source IP session persistence.", "example": true, "type": "boolean" }, "subnets": { "description": "The subnets this load balancer is provisioned in.\n\nAll subnets will be in the same VPC.", "items": { "$ref": "#/components/schemas/SubnetReference" }, "type": "array" }, "udp_supported": { "description": "Indicates whether this load balancer supports UDP.", "example": true, "type": "boolean" } }, "required": [ "access_mode", "attached_load_balancer_pool_members", "availability", "created_at", "crn", "failsafe_policy_actions", "hostname", "href", "id", "instance_groups_supported", "is_private_path", "is_public", "listeners", "logging", "name", "operating_status", "pools", "private_ips", "profile", "provisioning_status", "public_ips", "resource_group", "resource_type", "route_mode", "security_groups", "security_groups_supported", "source_ip_session_persistence_supported", "subnets", "udp_supported" ], "type": "object", "title": "LoadBalancer" }, "LoadBalancerAccessMode": { "description": "The access mode for this load balancer:\n- `private`: reachable from within its VPC, at IP addresses in `private_ips`\n- `private_path`: reachable through an endpoint gateway\n- `public`: reachable from the internet at the IP addresses in `public_ips`.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "private", "private_path", "public" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "LoadBalancerAccessMode" }, "LoadBalancerAvailability": { "description": "The availability of this load balancer:\n- `subnet`: remains available if at least one zone that the load balancer's subnets reside\n in is available\n- `region`: remains available if at least one zone in the region is available.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "region", "subnet" ], "example": "region", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "LoadBalancerAvailability" }, "LoadBalancerCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers?limit=50" }, "limit": 50, "load_balancers": [ { "access_mode": "private", "attached_load_balancer_pool_members": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a" } ], "availability": "subnet", "created_at": "2024-11-11T01:02:42Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "failsafe_policy_actions": [ "forward", "fail", "drop" ], "hostname": "7b6dc78d.lb.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "instance_groups_supported": true, "is_private_path": false, "is_public": true, "listeners": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-6a034f25-06b4-4cc3-8e3f-6a372616798b", "id": "r006-6a034f25-06b4-4cc3-8e3f-6a372616798b" } ], "logging": { "datapath": { "active": true } }, "name": "my-load-balancer", "operating_status": "online", "pools": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-2c431ab3-0151-11e9-a178-22dd3503b06c", "id": "r006-2c431ab3-0151-11e9-a178-22dd3503b06c", "name": "my-load-balancer-pool-1" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-b91f9900-09ba-4539-a4a8-9e0cb4e2c1c0", "id": "r006-b91f9900-09ba-4539-a4a8-9e0cb4e2c1c0", "name": "my-load-balancer-pool-2" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-32506c77-3f8a-4779-94bc-4a349eb6bc4e", "id": "r006-32506c77-3f8a-4779-94bc-4a349eb6bc4e", "name": "my-load-balancer-pool-3" } ], "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "profile": { "family": "application", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic", "name": "dynamic" }, "provisioning_status": "active", "public_ips": [ { "address": "192.0.2.44" }, { "address": "192.0.2.56" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "load_balancer", "route_mode": false, "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "security_groups_supported": true, "source_ip_session_persistence_supported": false, "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "udp_supported": true }, { "access_mode": "private", "attached_load_balancer_pool_members": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a" } ], "availability": "subnet", "created_at": "2024-11-11T01:20:12Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-1bf28ca5-3037-4b96-b4a0-f22e82eae3db", "failsafe_policy_actions": [ "forward", "drop", "bypass" ], "hostname": "1bf28ca5.lb.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-1bf28ca5-3037-4b96-b4a0-f22e82eae3db", "id": "r006-1bf28ca5-3037-4b96-b4a0-f22e82eae3db", "instance_groups_supported": true, "is_private_path": false, "is_public": true, "listeners": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-1bf28ca5-3037-4b96-b4a0-f22e82eae3db/listeners/r006-72cd2c3e-f8ac-4c74-8b91-75a4e6648242", "id": "r006-72cd2c3e-f8ac-4c74-8b91-75a4e6648242" } ], "logging": { "datapath": { "active": true } }, "name": "my-load-balancer-2", "operating_status": "online", "pools": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-1bf28ca5-3037-4b96-b4a0-f22e82eae3db/pools/r006-efa7abe9-ff00-11e8-a9c9-5a9d1cc77531", "id": "r006-efa7abe9-ff00-11e8-a9c9-5a9d1cc77531", "name": "my-load-balancer-2-pool-1" } ], "private_ips": [ { "address": "10.0.2.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-e626dac5-45ba-42bd-a65f-642021cd1a7f", "id": "0727-e626dac5-45ba-42bd-a65f-642021cd1a7f", "name": "my-reserved-ip-z2-2", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.3.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0737-943012e8-6f7d-42e8-acd6-e2afe2165261/reserved_ips/0737-976f31eb-461f-403f-a1cc-ee8447a28b71", "id": "0737-976f31eb-461f-403f-a1cc-ee8447a28b71", "name": "my-reserved-ip-z3-1", "resource_type": "subnet_reserved_ip" } ], "profile": { "family": "network", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed", "name": "network-fixed" }, "provisioning_status": "active", "public_ips": [ { "address": "192.0.2.45" }, { "address": "192.0.2.57" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "load_balancer", "route_mode": true, "security_groups": [], "security_groups_supported": false, "source_ip_session_persistence_supported": false, "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-3:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0737-9f5a6bee-b370-43f3-8247-88b98f964397", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0737-9f5a6bee-b370-43f3-8247-88b98f964397", "id": "0737-9f5a6bee-b370-43f3-8247-88b98f964397", "name": "my-subnet-z3-1", "resource_type": "subnet" } ], "udp_supported": true } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "load_balancers": { "description": "A page of load balancers", "items": { "$ref": "#/components/schemas/LoadBalancer" }, "type": "array" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "load_balancers", "total_count" ], "type": "object", "title": "LoadBalancerCollection" }, "LoadBalancerDNS": { "description": "The DNS configuration for this load balancer.\n\nIf absent, DNS `A` records for this load balancer's `hostname` property will be added to\nthe public DNS zone `lb.appdomain.cloud`.\n\nNot supported by private path load balancers.", "properties": { "instance": { "allOf": [ { "$ref": "#/components/schemas/DNSInstanceReferenceLoadBalancerDNSContext" }, { "description": "The DNS instance associated with this load balancer." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/DNSZoneReference" }, { "description": "The DNS zone associated with this load balancer." } ] } }, "required": [ "instance", "zone" ], "type": "object", "title": "LoadBalancerDNS" }, "LoadBalancerDNSPatch": { "description": "The DNS configuration for this load balancer.\n\nSpecify `null` to remove the existing DNS configuration, which will remove all DNS `A`\nrecords for this load balancer that had been added to `zone`, and add equivalent `A`\nrecords to the public DNS zone `lb.appdomain.cloud`.\n\nNot supported by private path load balancers.", "nullable": true, "properties": { "instance": { "allOf": [ { "$ref": "#/components/schemas/DNSInstanceIdentity" }, { "description": "The DNS instance to associate with this load balancer.\n\nThe specified instance may be in a different region or account, subject to IAM\npolicies." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/DNSZoneIdentity" }, { "description": "The DNS zone to associate with this load balancer.\n\nThe specified zone may be in a different region or account, subject to IAM policies." } ] } }, "type": "object", "title": "LoadBalancerDNSPatch" }, "LoadBalancerDNSPrototype": { "description": "The DNS configuration for this load balancer.\n\nIf unspecified, DNS `A` records for this load balancer's `hostname` property will be added\nto the public DNS zone `lb.appdomain.cloud`. Otherwise, those DNS `A` records will be\nadded to the specified `zone`.\n\nNot supported by private path load balancers.", "properties": { "instance": { "allOf": [ { "$ref": "#/components/schemas/DNSInstanceIdentity" }, { "description": "The DNS instance to associate with this load balancer.\n\nThe specified instance may be in a different region or account, subject to IAM\npolicies." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/DNSZoneIdentity" }, { "description": "The DNS zone to associate with this load balancer.\n\nThe specified zone may be in a different region or account, subject to IAM policies." } ] } }, "required": [ "instance", "zone" ], "type": "object", "title": "LoadBalancerDNSPrototype" }, "LoadBalancerIdentity": { "description": "Identifies a load balancer by a unique property.", "example": { "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727" }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerIdentityById" }, { "$ref": "#/components/schemas/LoadBalancerIdentityByCRN" }, { "$ref": "#/components/schemas/LoadBalancerIdentityByHref" } ], "type": "object", "title": "LoadBalancerIdentity" }, "LoadBalancerIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this load balancer", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "LoadBalancerIdentityByCRN" }, "LoadBalancerIdentityByHref": { "properties": { "href": { "description": "The URL for this load balancer", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "LoadBalancerIdentityByHref" }, "LoadBalancerIdentityById": { "properties": { "id": { "description": "The unique identifier for this load balancer", "example": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "LoadBalancerIdentityById" }, "LoadBalancerListener": { "example": { "accept_proxy_protocol": false, "connection_limit": 2000, "created_at": "2024-11-11T02:01:21Z", "default_pool": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "name": "my-load-balancer-pool" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "policies": [], "port": 80, "port_max": 80, "port_min": 80, "protocol": "http", "provisioning_status": "active" }, "properties": { "accept_proxy_protocol": { "description": "If set to `true`, this listener will accept and forward PROXY protocol information.\nSupported by load balancers in the `application` family (otherwise always `false`).\nAdditional restrictions:\n- If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must\n match the `accept_proxy_protocol` value of the `https_redirect` listener.\n- If this listener is the target of another listener's `https_redirect`, its\n `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value.", "example": true, "type": "boolean" }, "certificate_instance": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceReference" }, { "description": "The certificate instance used for SSL termination.\n\nIf absent, this listener is not using a certificate instance." } ] }, "connection_limit": { "description": "The concurrent connection limit for the listener. If reached, incoming connections may\nbe queued or rejected.\n\nThis property will be present for load balancers in the `application` family.", "example": 2000, "maximum": 15000, "minimum": 1, "type": "integer" }, "created_at": { "description": "The date and time that this listener was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "default_pool": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolReference" }, { "description": "The default pool for this listener. If absent, this listener has no default pool.\n\nIf `https_redirect` is set, the default pool will not be used." } ] }, "href": { "description": "The URL for this load balancer listener", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "https_redirect": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerHTTPSRedirect" }, { "description": "If present, the target listener that requests are redirected to if none of the\nlistener's `policies` match." } ] }, "id": { "description": "The unique identifier for this load balancer listener", "example": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "idle_connection_timeout": { "description": "The idle connection timeout of the listener in seconds.\n\nThis property will be present for load balancers in the `application` family.", "example": 100, "maximum": 7200, "minimum": 50, "type": "integer" }, "policies": { "description": "The policies for this listener.", "items": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyReference" }, "type": "array" }, "port": { "description": "The listener port number, or the inclusive lower bound of the port range.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_max": { "description": "The inclusive upper bound of the range of ports used by this listener.", "example": 499, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_min": { "description": "The inclusive lower bound of the range of ports used by this listener.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The listener protocol.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "provisioning_status": { "description": "The provisioning status of this listener\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "create_pending", "delete_pending", "failed", "update_pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "accept_proxy_protocol", "created_at", "href", "id", "port", "port_max", "port_min", "protocol", "provisioning_status" ], "type": "object", "title": "LoadBalancerListener" }, "LoadBalancerListenerCollection": { "example": { "listeners": [ { "accept_proxy_protocol": false, "connection_limit": 2000, "created_at": "2024-11-11T02:01:21Z", "default_pool": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "name": "my-load-balancer-pool" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "policies": [], "port": 80, "port_max": 80, "port_min": 80, "protocol": "http", "provisioning_status": "active" }, { "accept_proxy_protocol": false, "connection_limit": 3000, "created_at": "2024-11-11T02:02:32Z", "default_pool": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-8822e447-d3a2-4ebb-8638-e459a9001fb2", "id": "r006-8822e447-d3a2-4ebb-8638-e459a9001fb2", "name": "backend-tcp" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-d2b9b86e-5704-4b0f-a903-46f63be0ad4c", "id": "r006-d2b9b86e-5704-4b0f-a903-46f63be0ad4c", "policies": [], "port": 9000, "port_max": 9000, "port_min": 9000, "protocol": "tcp", "provisioning_status": "active" }, { "accept_proxy_protocol": false, "certificate_instance": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "connection_limit": 5000, "created_at": "2024-11-11T02:03:43Z", "default_pool": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-7b1d3adf-05da-40dc-b89e-726809ac6541", "id": "r006-7b1d3adf-05da-40dc-b89e-726809ac6541", "name": "backend-https" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-30d893b8-1d5a-4bfb-8297-442c6c2f425b", "id": "r006-30d893b8-1d5a-4bfb-8297-442c6c2f425b", "policies": [], "port": 443, "port_max": 443, "port_min": 443, "protocol": "https", "provisioning_status": "active" } ] }, "properties": { "listeners": { "description": "The listeners for the load balancer", "items": { "$ref": "#/components/schemas/LoadBalancerListener" }, "type": "array" } }, "required": [ "listeners" ], "type": "object", "title": "LoadBalancerListenerCollection" }, "LoadBalancerListenerDefaultPoolPatch": { "description": "The default pool for this listener. If `https_redirect` is set, the default pool will not\nbe used. The specified pool must:\n\n- Belong to this load balancer\n- Have the same `protocol` as this listener, or have a compatible protocol.\n At present, the compatible protocols are `http` and `https`.\n- Not already be the `default_pool` for another listener\n\nSpecify `null` to remove an existing default pool.", "example": { "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004" }, "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentityById" }, { "$ref": "#/components/schemas/LoadBalancerPoolIdentityByHref" } ], "type": "object", "title": "LoadBalancerListenerDefaultPoolPatch" }, "LoadBalancerListenerHTTPSRedirect": { "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "listener": { "$ref": "#/components/schemas/LoadBalancerListenerReference" }, "uri": { "description": "The redirect relative target URI.", "example": "/example?doc=get", "maxLength": 8192, "minLength": 1, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string" } }, "required": [ "http_status_code", "listener" ], "type": "object", "title": "LoadBalancerListenerHTTPSRedirect" }, "LoadBalancerListenerHTTPSRedirectPatch": { "nullable": true, "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "listener": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerIdentity" }, { "description": "The target listener.\n\nThe target listener must be in this load balancer, and must not be the same as the\nlistener in the URL." } ] }, "uri": { "$ref": "#/components/schemas/LoadBalancerListenerHTTPSRedirectURIPatch" } }, "type": "object", "title": "LoadBalancerListenerHTTPSRedirectPatch" }, "LoadBalancerListenerHTTPSRedirectPrototype": { "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "listener": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerIdentity" }, { "description": "The target listener.\n\nThe target listener must be in this load balancer, and must not be the same as the\nlistener in the URL." } ] }, "uri": { "description": "The redirect relative target URI.", "example": "/example?doc=get", "maxLength": 8192, "minLength": 1, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string" } }, "required": [ "http_status_code", "listener" ], "type": "object", "title": "LoadBalancerListenerHTTPSRedirectPrototype" }, "LoadBalancerListenerHTTPSRedirectURIPatch": { "description": "The redirect relative target URI.", "example": "/example?doc=get", "maxLength": 8192, "minLength": 1, "nullable": true, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string", "title": "LoadBalancerListenerHTTPSRedirectURIPatch" }, "LoadBalancerListenerIdentity": { "description": "Identifies a load balancer listener by a unique property.", "example": { "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091" }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerIdentityById" }, { "$ref": "#/components/schemas/LoadBalancerListenerIdentityByHref" } ], "type": "object", "title": "LoadBalancerListenerIdentity" }, "LoadBalancerListenerIdentityByHref": { "properties": { "href": { "description": "The URL for this load balancer listener", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "LoadBalancerListenerIdentityByHref" }, "LoadBalancerListenerIdentityById": { "properties": { "id": { "description": "The unique identifier for this load balancer listener", "example": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "LoadBalancerListenerIdentityById" }, "LoadBalancerListenerPatch": { "properties": { "accept_proxy_protocol": { "description": "If set to `true`, this listener will accept and forward PROXY protocol information.\nSupported by load balancers in the `application` family (otherwise always `false`).\nAdditional restrictions:\n- If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must\n match the `accept_proxy_protocol` value of the `https_redirect` listener.\n- If this listener is the target of another listener's `https_redirect`, its\n `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value.", "example": true, "type": "boolean" }, "certificate_instance": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceIdentity" }, { "description": "The certificate instance to use for SSL termination. The listener must have a\n`protocol` of `https`." } ] }, "connection_limit": { "description": "The concurrent connection limit for the listener. If reached, incoming connections may\nbe queued or rejected.\n\nSupported for load balancers in the `application` family.", "example": 2000, "maximum": 15000, "minimum": 1, "type": "integer" }, "default_pool": { "$ref": "#/components/schemas/LoadBalancerListenerDefaultPoolPatch" }, "https_redirect": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerHTTPSRedirectPatch" }, { "description": "The target listener that requests will be redirected to if none of the listener's\n`policies` match.\n\nIf specified, this listener must have a `protocol` of `http`, and the target listener\nmust have a `protocol` of `https`.\n\nSpecify `null` to remove any existing https redirect." } ] }, "idle_connection_timeout": { "description": "The idle connection timeout of the listener in seconds.\n\nSupported for load balancers in the `application` family.", "example": 100, "maximum": 7200, "minimum": 50, "type": "integer" }, "port": { "description": "The inclusive lower bound of the range of ports used by this listener. Must not be\ngreater than `port_max`. Updating `port` updates `port_min` to the same value.\n\nOnly network load balancers with `route_mode`, `is_public` or `is_private_path` set to\n`true` support different values for `port_min` and `port_max`. If `route_mode` is set\nto `true`, the value must be `1`.\n\nEach listener in the load balancer must have a non-overlapping port range and\n`protocol` combination. Protocol values of `tcp`, `http` and `https` share the TCP\nport space.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_max": { "description": "The inclusive upper bound of the range of ports used by this listener. Must not be\nless than `port_min`.\n\nOnly network load balancers with `route_mode`, `is_public` or `is_private_path` set to\n`true` support different values for `port_min` and `port_max`. If `route_mode` is set\nto `true`, the value must be `65535`.\n\nThe specified port range must not overlap with port ranges used by other listeners\nfor this load balancer using the same protocol. Protocol values of `tcp`, `http` and\n`https` share the TCP port space.", "example": 499, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_min": { "description": "The inclusive lower bound of the range of ports used by this listener. Must not be\ngreater than `port_max`. Updating `port_min` updates `port` to the same value.\n\nOnly network load balancers with `route_mode`, `is_public` or `is_private_path` set to\n`true` support different values for `port_min` and `port_max`. If `route_mode` is set\nto `true`, the value must be `1`.\n\nEach listener in the load balancer must have a non-overlapping port range and\n`protocol` combination.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The listener protocol. Each listener in the load balancer must have a non-overlapping\nport range and `protocol` combination.\n\nLoad balancers in the `network` family support `tcp` and `udp` (if `udp_supported`\nis `true`). Load balancers in the `application` family support `tcp`, `http` and\n`https`.\n\nAdditional restrictions:\n- If `default_pool` is set, the protocol cannot be changed.\n- If `https_redirect` is set, the protocol must be `http`.\n- If another listener's `https_redirect` targets this listener, the protocol must be\n`https`.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "LoadBalancerListenerPatch" }, "LoadBalancerListenerPolicy": { "example": { "action": "redirect", "created_at": "2024-11-12T00:12:27Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "id": "r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "name": "my-load-balancer-listener-policy", "priority": 9, "provisioning_status": "active", "rules": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "id": "r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-4da915f7-0be5-4373-8e43-a16dd0271403", "id": "r006-4da915f7-0be5-4373-8e43-a16dd0271403" } ], "target": { "http_status_code": 301, "url": "https://www.example.com" } }, "properties": { "action": { "description": "The policy action:\n- `forward_to_listener`: Requests will be forwarded to the specified `target`\n listener\n- `forward_to_pool`: Requests will be forwarded to the specified `target` pool\n- `https_redirect`: Requests will be redirected to the specified `target` listener.\n The listener must have a `protocol` of `http`, and the target listener must have a\n `protocol` of `https`\n- `redirect`: Requests will be redirected to the specified `target.url`\n- `reject`: Requests will be rejected with a `403` status code\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "forward_to_listener", "forward_to_pool", "https_redirect", "redirect", "reject" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that this policy was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this load balancer policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer policy", "example": "r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this load balancer listener policy. The name is unique across all\npolicies for the load balancer listener.", "example": "my-load-balancer-listener-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "priority": { "description": "The priority of the policy. The priority is unique across all policies for this load\nbalancer listener. Lower value indicates higher priority.", "example": 5, "maximum": 10, "minimum": 1, "type": "integer" }, "provisioning_status": { "description": "The provisioning status of this policy\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "create_pending", "delete_pending", "failed", "update_pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "rules": { "description": "The rules for this policy.", "items": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyRuleReference" }, "type": "array" }, "target": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyTarget" } }, "required": [ "action", "created_at", "href", "id", "name", "priority", "provisioning_status", "rules" ], "type": "object", "title": "LoadBalancerListenerPolicy" }, "LoadBalancerListenerPolicyCollection": { "example": { "policies": [ { "action": "redirect", "created_at": "2024-11-12T00:12:27Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "id": "r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "name": "my-load-balancer-listener-policy", "priority": 9, "provisioning_status": "active", "rules": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "id": "r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-4da915f7-0be5-4373-8e43-a16dd0271403", "id": "r006-4da915f7-0be5-4373-8e43-a16dd0271403" } ], "target": { "http_status_code": 301, "url": "https://www.example.com" } }, { "action": "reject", "created_at": "2024-11-12T10:12:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-8fe9b0b0-4f0b-410b-90b7-954fa1990643", "id": "r006-8fe9b0b0-4f0b-410b-90b7-954fa1990643", "name": "my-load-balancer-listener-policy-2", "priority": 3, "provisioning_status": "active", "rules": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-8fe9b0b0-4f0b-410b-90b7-954fa1990643/rules/r006-c3fbd108-5464-4563-9aa4-9d90f9ff9db7", "id": "r006-c3fbd108-5464-4563-9aa4-9d90f9ff9db7" } ] } ] }, "properties": { "policies": { "description": "The policies for the load balancer listener", "items": { "$ref": "#/components/schemas/LoadBalancerListenerPolicy" }, "type": "array" } }, "required": [ "policies" ], "type": "object", "title": "LoadBalancerListenerPolicyCollection" }, "LoadBalancerListenerPolicyHTTPSRedirect": { "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "listener": { "$ref": "#/components/schemas/LoadBalancerListenerReference" }, "uri": { "description": "The redirect relative target URI.", "example": "/example?doc=get", "maxLength": 8192, "minLength": 1, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string" } }, "required": [ "http_status_code", "listener" ], "type": "object", "title": "LoadBalancerListenerPolicyHTTPSRedirect" }, "LoadBalancerListenerPolicyHTTPSRedirectPatch": { "nullable": true, "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "listener": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerIdentity" }, { "description": "The target listener.\n\nThe target listener must be in this load balancer, and must not be the same as the\nlistener in the URL." } ] }, "uri": { "$ref": "#/components/schemas/LoadBalancerListenerHTTPSRedirectURIPatch" } }, "type": "object", "title": "LoadBalancerListenerPolicyHTTPSRedirectPatch" }, "LoadBalancerListenerPolicyHTTPSRedirectPrototype": { "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "listener": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerIdentity" }, { "description": "The target listener.\n\nThe target listener must be in this load balancer, and must not be the same as the\nlistener in the URL." } ] }, "uri": { "description": "The redirect relative target URI.", "example": "/example?doc=get", "maxLength": 8192, "minLength": 1, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string" } }, "required": [ "http_status_code", "listener" ], "type": "object", "title": "LoadBalancerListenerPolicyHTTPSRedirectPrototype" }, "LoadBalancerListenerPolicyPatch": { "properties": { "name": { "description": "The name for this policy. The name must not be used by another policy for the load\nbalancer listener.", "example": "my-load-balancer-listener-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "priority": { "description": "The priority of the policy. The priority is unique across all policies for this load\nbalancer listener. Lower value indicates higher priority.", "example": 5, "maximum": 10, "minimum": 1, "type": "integer" }, "target": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyTargetPatch" } }, "type": "object", "title": "LoadBalancerListenerPolicyPatch" }, "LoadBalancerListenerPolicyPrototype": { "properties": { "action": { "description": "The policy action:\n- `forward_to_listener`: Requests will be forwarded to the specified\n `target` listener.\n- `forward_to_pool`: Requests will be forwarded to the specified `target` pool.\n- `https_redirect`: Requests will be redirected to the specified `target.listener`.\n This listener must have a `protocol` of `http`, and the target listener must\n have a `protocol` of `https`.\n- `redirect`: Requests will be redirected to the specified `target.url`\n- `reject`: Requests will be rejected with a `403` status code", "enum": [ "forward_to_listener", "forward_to_pool", "https_redirect", "redirect", "reject" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this policy. The name must not be used by another policy for the load\nbalancer listener. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-load-balancer-listener-policy", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "priority": { "description": "The priority of the policy. The priority is unique across all policies for this load\nbalancer listener. Lower value indicates higher priority.", "example": 5, "maximum": 10, "minimum": 1, "type": "integer" }, "rules": { "description": "The rule prototype objects for this policy.", "items": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyRulePrototype" }, "type": "array" }, "target": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyTargetPrototype" } }, "required": [ "action", "priority" ], "type": "object", "title": "LoadBalancerListenerPolicyPrototype" }, "LoadBalancerListenerPolicyRedirectURL": { "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "url": { "description": "The redirect target URL. The URL supports [RFC 6570 level 1\nexpressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2)\nfor the following variables which expand to values from the originally\nrequested URL (or the indicated defaults if the request did not include them):\n\n- `protocol`\n- `host`\n- `port` (default: `80` for HTTP requests, `443` for HTTPS requests)\n- `path` (default: '/')\n- `query` (default: '')\n\nThe protocol, host, and port segments of the URL, must only contain at most one\ninstance of the `protocol`, `host`, and `port` variables, respectively. The path and\nquery segments of the URL may contain any combination of variables. If the\nsubstitution of `path` results in consecutive leading slashes, the leading slash from\nthe substitution will be removed.\nAdditional examples:\n- `https://{host}:8080/{port}/{host}/{path}`\n- `https://www.example.com`\n- `{protocol}://test.{host}:80/{path}`", "example": "https://ibm.com:443/new/{path}?{query}", "maxLength": 8000, "minLength": 10, "pattern": "^(http(s)?|\\{protocol\\}):\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "http_status_code", "url" ], "type": "object", "title": "LoadBalancerListenerPolicyRedirectURL" }, "LoadBalancerListenerPolicyRedirectURLPatch": { "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "url": { "description": "The redirect target URL. The URL supports [RFC 6570 level 1\nexpressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2)\nfor the following variables which expand to values from the originally\nrequested URL (or the indicated defaults if the request did not include them):\n\n- `protocol`\n- `host`\n- `port` (default: `80` for HTTP requests, `443` for HTTPS requests)\n- `path` (default: '/')\n- `query` (default: '')\n\nThe protocol, host, and port segments of the URL, must only contain at most one\ninstance of the `protocol`, `host`, and `port` variables, respectively. The path and\nquery segments of the URL may contain any combination of variables. If the\nsubstitution of `path` results in consecutive leading slashes, the leading slash from\nthe substitution will be removed.\nAdditional examples:\n- `https://{host}:8080/{port}/{host}/{path}`\n- `https://www.example.com`\n- `{protocol}://test.{host}:80/{path}`", "example": "https://ibm.com:443/new/{path}?{query}", "maxLength": 8000, "minLength": 10, "pattern": "^(http(s)?|\\{protocol\\}):\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "type": "object", "title": "LoadBalancerListenerPolicyRedirectURLPatch" }, "LoadBalancerListenerPolicyRedirectURLPrototype": { "properties": { "http_status_code": { "$ref": "#/components/schemas/HTTPRedirectStatusCode" }, "url": { "description": "The redirect target URL. The URL supports [RFC 6570 level 1\nexpressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2)\nfor the following variables which expand to values from the originally\nrequested URL (or the indicated defaults if the request did not include them):\n\n- `protocol`\n- `host`\n- `port` (default: `80` for HTTP requests, `443` for HTTPS requests)\n- `path` (default: '/')\n- `query` (default: '')\n\nThe protocol, host, and port segments of the URL, must only contain at most one\ninstance of the `protocol`, `host`, and `port` variables, respectively. The path and\nquery segments of the URL may contain any combination of variables. If the\nsubstitution of `path` results in consecutive leading slashes, the leading slash from\nthe substitution will be removed.\nAdditional examples:\n- `https://{host}:8080/{port}/{host}/{path}`\n- `https://www.example.com`\n- `{protocol}://test.{host}:80/{path}`", "example": "https://ibm.com:443/new/{path}?{query}", "maxLength": 8000, "minLength": 10, "pattern": "^(http(s)?|\\{protocol\\}):\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "http_status_code", "url" ], "type": "object", "title": "LoadBalancerListenerPolicyRedirectURLPrototype" }, "LoadBalancerListenerPolicyReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "id": "r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "name": "my-load-balancer-listener-policy" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this load balancer policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer policy", "example": "r006-0b00a37f-a3d7-43ca-8187-f1e88d659245", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this load balancer listener policy. The name is unique across all\npolicies for the load balancer listener.", "example": "my-load-balancer-listener-policy", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "id", "name" ], "type": "object", "title": "LoadBalancerListenerPolicyReference" }, "LoadBalancerListenerPolicyRule": { "example": { "condition": "contains", "created_at": "2024-11-12T01:28:42Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "id": "r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "provisioning_status": "active", "type": "hostname", "value": "my-example-hostname" }, "properties": { "condition": { "description": "The condition for the rule.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "contains", "equals", "matches_regex" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that this rule was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "field": { "description": "The field to match for this rule. If `condition` is not `matches_regex`, the value\nis percent-encoded.", "example": "MY-APP-HEADER", "maxLength": 128, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string" }, "href": { "description": "The URL for this load balancer listener policy rule", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer listener policy rule", "example": "r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "provisioning_status": { "description": "The provisioning status of this rule\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "create_pending", "delete_pending", "failed", "update_pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type of the rule. Body rules are applied to form-encoded request bodies using the\n`UTF-8` character set.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "body", "header", "hostname", "path", "query", "sni_hostname" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value to be matched for the rule condition.\n\nIf the rule type is `query` and the rule condition is not `matches_regex`, the value\nmust be percent-encoded.", "maxLength": 128, "minLength": 1, "type": "string" } }, "required": [ "condition", "created_at", "href", "id", "provisioning_status", "type", "value" ], "type": "object", "title": "LoadBalancerListenerPolicyRule" }, "LoadBalancerListenerPolicyRuleCollection": { "example": { "rules": [ { "condition": "contains", "created_at": "2024-11-12T01:28:42Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "id": "r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "provisioning_status": "active", "type": "hostname", "value": "my-example-hostname" }, { "condition": "matches_regex", "created_at": "2024-11-12T01:39:53Z", "field": "version", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-4da915f7-0be5-4373-8e43-a16dd0271403", "id": "r006-4da915f7-0be5-4373-8e43-a16dd0271403", "provisioning_status": "active", "type": "query", "value": "^0\\\\..*$" } ] }, "properties": { "rules": { "description": "The rules for the load balancer listener policy", "items": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyRule" }, "type": "array" } }, "required": [ "rules" ], "type": "object", "title": "LoadBalancerListenerPolicyRuleCollection" }, "LoadBalancerListenerPolicyRulePatch": { "properties": { "condition": { "description": "The condition for the rule.", "enum": [ "contains", "equals", "matches_regex" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "field": { "description": "The field to match for this rule.\n- If the `type` is `header`, this property must be specified.\n- If the `type` is `body` or `query`, this property may be specified.\n- For all other types, this property must not be specified.", "example": "MY-APP-HEADER", "maxLength": 128, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string" }, "type": { "description": "The content the rule applies to:\n- `body`: The UTF-8 form-encoded HTTP request body\n- `header`: The HTTP header\n- `hostname`: The fully-qualified domain name of the server specified in the Host\n HTTP request header\n- `path`: The path of the HTTP request\n- `query`: The query of the HTTP request URL\n- `sni_hostname`: The fully-qualified domain name of the server provided in the\n \"server name indicator\" extension during TLS negotiation\n\n- For listeners with `protocol` `http` or `https`, any type may be specified.\n- For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified.", "enum": [ "body", "header", "hostname", "path", "query", "sni_hostname" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value to be matched for the rule condition.\n\nIf the rule type is `query` and the rule condition is not `matches_regex`, the value\nmust be percent-encoded.", "maxLength": 128, "minLength": 1, "type": "string" } }, "type": "object", "title": "LoadBalancerListenerPolicyRulePatch" }, "LoadBalancerListenerPolicyRulePrototype": { "properties": { "condition": { "description": "The condition for the rule.", "enum": [ "contains", "equals", "matches_regex" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "field": { "description": "The field to match for this rule.\n- If the `type` is `header`, this property must be specified.\n- If the `type` is `body` or `query`, this property may be specified.\n- For all other types, this property must not be specified.", "example": "MY-APP-HEADER", "maxLength": 128, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string" }, "type": { "description": "The content the rule applies to:\n- `body`: The UTF-8 form-encoded HTTP request body\n- `header`: The HTTP header\n- `hostname`: The fully-qualified domain name of the server specified in the Host\n HTTP request header\n- `path`: The path of the HTTP request\n- `query`: The query of the HTTP request URL\n- `sni_hostname`: The fully-qualified domain name of the server provided in the\n \"server name indicator\" extension during TLS negotiation\n\n- For listeners with `protocol` `http` or `https`, any type may be specified.\n- For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified.", "enum": [ "body", "header", "hostname", "path", "query", "sni_hostname" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value to be matched for the rule condition.\n\nIf the rule type is `query` and the rule condition is not `matches_regex`, the value\nmust be percent-encoded.", "maxLength": 128, "minLength": 1, "type": "string" } }, "required": [ "condition", "type", "value" ], "type": "object", "title": "LoadBalancerListenerPolicyRulePrototype" }, "LoadBalancerListenerPolicyRuleReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "id": "r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this load balancer listener policy rule", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091/policies/r006-0b00a37f-a3d7-43ca-8187-f1e88d659245/rules/r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer listener policy rule", "example": "r006-d2da2832-9751-4e29-ad1d-4b19c1c83c7b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "href", "id" ], "type": "object", "title": "LoadBalancerListenerPolicyRuleReference" }, "LoadBalancerListenerPolicyTarget": { "description": "- If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity`\n- If `action` is `forward_to_pool`, specify a `LoadBalancerPoolIdentity`\n- If `action` is `https_redirect`, the response is a\n`LoadBalancerListenerPolicyHTTPSRedirect`\n- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`", "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolReference" }, { "$ref": "#/components/schemas/LoadBalancerListenerPolicyHTTPSRedirect" }, { "$ref": "#/components/schemas/LoadBalancerListenerPolicyRedirectURL" }, { "$ref": "#/components/schemas/LoadBalancerListenerReference" } ], "type": "object", "title": "LoadBalancerListenerPolicyTarget" }, "LoadBalancerListenerPolicyTargetPatch": { "description": "- If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` for a\n listener in this load balancer.\n- If `action` is `forward_to_pool`, specify a `LoadBalancerPoolIdentity` for a pool in\n this load balancer.\n- If `action` is `https_redirect`, specify a\n `LoadBalancerListenerPolicyHTTPSRedirectPatch` for a listener in this load balancer\n with a `protocol` of `https`.\n- If `action` is `redirect`, specify a `LoadBalancerListenerPolicyRedirectURLPatch`.", "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentity" }, { "$ref": "#/components/schemas/LoadBalancerListenerPolicyHTTPSRedirectPatch" }, { "$ref": "#/components/schemas/LoadBalancerListenerPolicyRedirectURLPatch" }, { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerIdentity" }, { "description": "The target listener.\n\nThe target listener must be in this load balancer, and must not be the same as the\nlistener in the URL." } ] } ], "type": "object", "title": "LoadBalancerListenerPolicyTargetPatch" }, "LoadBalancerListenerPolicyTargetPrototype": { "anyOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentity" }, { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerIdentity" }, { "description": "The target listener.\n\nThe target listener must be in this load balancer, and must not be the same as the\nlistener in the URL." } ] }, { "$ref": "#/components/schemas/LoadBalancerListenerPolicyHTTPSRedirectPrototype" }, { "$ref": "#/components/schemas/LoadBalancerListenerPolicyRedirectURLPrototype" } ], "description": "- If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` in this\n load balancer to forward to.\n- If `action` is `forward_to_pool`, use `LoadBalancerPoolIdentity` to specify a pool in\n this load balancer to forward to.\n- If `action` is `https_redirect`, use\n `LoadBalancerListenerPolicyHTTPSRedirectPrototype` to specify a listener on this\n load balancer to redirect to.\n- If `action` is `redirect`, use `LoadBalancerListenerPolicyRedirectURLPrototype`to\n specify a URL to redirect to.", "type": "object", "title": "LoadBalancerListenerPolicyTargetPrototype" }, "LoadBalancerListenerPrototype": { "properties": { "accept_proxy_protocol": { "default": false, "description": "If set to `true`, this listener will accept and forward PROXY protocol information.\nSupported by load balancers in the `application` family (otherwise always `false`).\nAdditional restrictions:\n- If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must\n match the `accept_proxy_protocol` value of the `https_redirect` listener.\n- If this listener is the target of another listener's `https_redirect`, its\n `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value.", "example": true, "type": "boolean" }, "certificate_instance": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceIdentity" }, { "description": "The certificate instance to use for SSL termination. The listener must have a\n`protocol` of `https`." } ] }, "connection_limit": { "description": "The concurrent connection limit for the listener. If reached, incoming connections may\nbe queued or rejected.\n\nSupported for load balancers in the `application` family.\n\nIf unspecified, the limit will be `15000` for load balancers in the `application`\nfamily.", "example": 2000, "maximum": 15000, "minimum": 1, "type": "integer" }, "default_pool": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentity" }, { "description": "The default pool for this listener. If `https_redirect` is specified, the\ndefault pool will not be used.\nIf specified, the pool must:\n\n- Belong to this load balancer.\n- Have the same `protocol` as this listener, or have a compatible protocol.\n At present, the compatible protocols are `http` and `https`.\n- Not already be the `default_pool` for another listener.\n\nIf unspecified, this listener will be created with no default pool, but one may be\nsubsequently set." } ] }, "https_redirect": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerHTTPSRedirectPrototype" }, { "description": "The target listener that requests will be redirected to if none of the listener's\n`policies` match.\n\nIf specified, this listener must have a `protocol` of `http`, and the target\nlistener must have a `protocol` of `https`." } ] }, "idle_connection_timeout": { "description": "The idle connection timeout of the listener in seconds.\n\nSupported for load balancers in the `application` family.\n\nIf unspecified, the timeout will be `50` for load balancers in the `application`\nfamily.", "example": 100, "maximum": 7200, "minimum": 50, "type": "integer" }, "policies": { "description": "The policy prototype objects for this listener. The load balancer must be in the\n`application` family.", "items": { "$ref": "#/components/schemas/LoadBalancerListenerPolicyPrototype" }, "type": "array" }, "port": { "description": "The listener port number. Each listener in the load balancer must have a\nnon-overlapping port range and `protocol` combination. Protocol values of `tcp`, `http`\nand `https` share the TCP port space.\n\nIf `port_min` is also specified, `port` must have the same value as `port_min`.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_max": { "description": "The inclusive upper bound of the range of ports used by this listener. Must not be\nless than `port_min`.\n\nOnly network load balancers with `route_mode`, `is_public` or `is_private_path` set to\n`true` support different values for `port_min` and `port_max`. If `route_mode` is set\nto `true`, the value must be `65535`.\n\nThe specified port range must not overlap with port ranges used by other listeners\nfor this load balancer using the same protocol. Protocol values of `tcp`, `http` and\n`https` share the TCP port space.", "example": 499, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_min": { "description": "The inclusive lower bound of the range of ports used by this listener. Must not be\ngreater than `port_max`.\n\nIf specified, `port_max` must also be specified, and must not be smaller. If\nunspecified, `port_max` must also be unspecified.\n\nIf `port` is also specified, `port_min` must have the same value as `port`.\n\nOnly network load balancers with `route_mode`, `is_public` or `is_private_path` set to\n`true` support different values for `port_min` and `port_max`. If `route_mode` is set\nto `true`, the value must be `1`.\n\nThe specified port range must not overlap with port ranges used by other listeners for\nthis load balancer using the same protocol. Protocol values of `tcp`, `http` and\n`https` share the TCP port space.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The listener protocol. Each listener in the load balancer must have a\nnon-overlapping port range and `protocol` combination.\n\nLoad balancers in the `network` family support `tcp` and `udp` (if `udp_supported`\nis `true`). Load balancers in the `application` family support `tcp`, `http` and\n`https`.\n\nAdditional restrictions:\n- If `default_pool` is set, the pool's protocol must match, or be compatible with\n the listener's protocol. At present, the compatible protocols are `http` and\n `https`.\n- If `https_redirect` is set, the protocol must be `http`.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "title": "LoadBalancerListenerPrototype" }, "LoadBalancerListenerPrototypeLoadBalancerContext": { "properties": { "accept_proxy_protocol": { "default": false, "description": "If set to `true`, this listener will accept and forward PROXY protocol information.\nSupported by load balancers in the `application` family (otherwise always `false`).\nAdditional restrictions:\n- If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must\n match the `accept_proxy_protocol` value of the `https_redirect` listener.\n- If this listener is the target of another listener's `https_redirect`, its\n `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value.", "example": true, "type": "boolean" }, "certificate_instance": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceIdentity" }, { "description": "The certificate instance to use for SSL termination. The listener must have a\n`protocol` of `https`." } ] }, "connection_limit": { "description": "The concurrent connection limit for the listener. If reached, incoming connections may\nbe queued or rejected.\n\nSupported for load balancers in the `application` family.\n\nIf unspecified, the limit will be `15000` for load balancers in the `application`\nfamily.", "example": 2000, "maximum": 15000, "minimum": 1, "type": "integer" }, "default_pool": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentityByName" }, { "description": "The default pool for this listener. If `https_redirect` is specified,\nthe default pool will not be used. If specified, the pool must:\n\n- Belong to this load balancer.\n- Have the same `protocol` as this listener, or have a compatible protocol.\n At present, the compatible protocols are `http` and `https`.\n- Not already be the `default_pool` for another listener.\n\nIf unspecified, this listener will be created with no default pool, but one may be\nsubsequently set." } ] }, "https_redirect": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerListenerHTTPSRedirectPrototype" }, { "description": "The target listener that requests will be redirected to if none of the listener's\n`policies` match.\n\nIf specified, this listener must have a `protocol` of `http`, and the target\nlistener must have a `protocol` of `https`." } ] }, "idle_connection_timeout": { "description": "The idle connection timeout of the listener in seconds.\n\nSupported for load balancers in the `application` family.\n\nIf unspecified, the timeout will be `50` for load balancers in the `application`\nfamily.", "example": 100, "maximum": 7200, "minimum": 50, "type": "integer" }, "port": { "description": "The listener port number. Each listener in the load balancer must have a\nnon-overlapping port range and `protocol` combination. Protocol values of `tcp`, `http`\nand `https` share the TCP port space.\n\nIf `port_min` is also specified, `port` must have the same value as `port_min`.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_max": { "description": "The inclusive upper bound of the range of ports used by this listener. Must not be\nless than `port_min`.\n\nOnly network load balancers with `route_mode`, `is_public` or `is_private_path` set to\n`true` support different values for `port_min` and `port_max`. If `route_mode` is set\nto `true`, the value must be `65535`.\n\nThe specified port range must not overlap with port ranges used by other listeners\nfor this load balancer using the same protocol. Protocol values of `tcp`, `http` and\n`https` share the TCP port space.", "example": 499, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_min": { "description": "The inclusive lower bound of the range of ports used by this listener. Must not be\ngreater than `port_max`.\n\nIf specified, `port_max` must also be specified, and must not be smaller. If\nunspecified, `port_max` must also be unspecified.\n\nIf `port` is also specified, `port_min` must have the same value as `port`.\n\nOnly network load balancers with `route_mode`, `is_public` or `is_private_path` set to\n`true` support different values for `port_min` and `port_max`. If `route_mode` is set\nto `true`, the value must be `1`.\n\nThe specified port range must not overlap with port ranges used by other listeners for\nthis load balancer using the same protocol. Protocol values of `tcp`, `http` and\n`https` share the TCP port space.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The listener protocol. Each listener in the load balancer must have a\nnon-overlapping port range and `protocol` combination.\n\nLoad balancers in the `network` family support `tcp` and `udp` (if `udp_supported`\nis `true`). Load balancers in the `application` family support `tcp`, `http` and\n`https`.\n\nAdditional restrictions:\n- If `default_pool` is set, the pool's protocol must match, or be compatible with\n the listener's protocol. At present, the compatible protocols are `http` and\n `https`.\n- If `https_redirect` is set, the protocol must be `http`.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "title": "LoadBalancerListenerPrototypeLoadBalancerContext" }, "LoadBalancerListenerReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this load balancer listener", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer listener", "example": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "href", "id" ], "type": "object", "title": "LoadBalancerListenerReference" }, "LoadBalancerLogging": { "properties": { "datapath": { "$ref": "#/components/schemas/LoadBalancerLoggingDatapath" } }, "required": [ "datapath" ], "type": "object", "title": "LoadBalancerLogging" }, "LoadBalancerLoggingDatapath": { "description": "The datapath logging configuration for this load balancer.", "properties": { "active": { "description": "Indicates whether datapath logging is active for this load balancer.", "example": true, "type": "boolean" } }, "required": [ "active" ], "type": "object", "title": "LoadBalancerLoggingDatapath" }, "LoadBalancerLoggingDatapathPatch": { "description": "The datapath logging configuration for this load balancer.", "properties": { "active": { "description": "Indicates whether datapath logging will be active for this load balancer.", "example": true, "type": "boolean" } }, "type": "object", "title": "LoadBalancerLoggingDatapathPatch" }, "LoadBalancerLoggingDatapathPrototype": { "description": "The datapath logging configuration for this load balancer.", "properties": { "active": { "default": false, "description": "Indicates whether datapath logging will be active for this load balancer.", "example": true, "type": "boolean" } }, "type": "object", "title": "LoadBalancerLoggingDatapathPrototype" }, "LoadBalancerLoggingPatch": { "properties": { "datapath": { "$ref": "#/components/schemas/LoadBalancerLoggingDatapathPatch" } }, "type": "object", "title": "LoadBalancerLoggingPatch" }, "LoadBalancerLoggingPrototype": { "properties": { "datapath": { "$ref": "#/components/schemas/LoadBalancerLoggingDatapathPrototype" } }, "type": "object", "title": "LoadBalancerLoggingPrototype" }, "LoadBalancerPatch": { "properties": { "dns": { "$ref": "#/components/schemas/LoadBalancerDNSPatch" }, "logging": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerLoggingPatch" } ], "description": "The logging configuration to use for this load balancer.\n\nTo activate logging, the load balancer profile must support the specified logging type." }, "name": { "description": "The name for this load balancer. The name must not be used by another load balancer in\nthe VPC.", "example": "my-load-balancer", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "subnets": { "description": "The subnets to provision this load balancer in. The load balancer's availability will\ndepend on the availability of the zones that the subnets reside in.\n\nThe specified subnets must be in the same VPC as the existing subnets, and will\ncompletely replace the existing subnets.\n\nThe load balancer must be in the `application` family.", "items": { "$ref": "#/components/schemas/SubnetIdentity" }, "maxItems": 15, "minItems": 1, "type": "array", "uniqueItems": true } }, "type": "object", "title": "LoadBalancerPatch" }, "LoadBalancerPool": { "example": { "algorithm": "round_robin", "created_at": "2024-11-11T02:04:42Z", "failsafe_policy": { "action": "forward", "healthy_member_threshold_count": 0, "target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancersr006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/poolsr006-d7e6cc04-a6ab-483b-9dfe-e1da726c4a69", "id": "r006-d7e6cc04-a6ab-483b-9dfe-e1da726c4a69", "name": "my-load-balancer-pool-2" } }, "health_monitor": { "delay": 5, "max_retries": 2, "timeout": 2, "type": "http", "url_path": "/" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "members": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-241d4e0a-48d9-4bca-bf44-bcc3029ac05e", "id": "r006-241d4e0a-48d9-4bca-bf44-bcc3029ac05e" } ], "name": "my-load-balancer-pool", "protocol": "tcp", "provisioning_status": "active", "proxy_protocol": "v1", "session_persistence": { "type": "source_ip" } }, "properties": { "algorithm": { "description": "The load balancing algorithm.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "least_connections", "round_robin", "weighted_round_robin" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that this pool was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "failsafe_policy": { "$ref": "#/components/schemas/LoadBalancerPoolFailsafePolicy" }, "health_monitor": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitor" }, { "description": "The health monitor of this pool.\n\nIf this pool has a member targeting a load balancer then:\n\n- If the targeted load balancer has multiple subnets, this health monitor is used to\n direct traffic to the available subnets.\n- The health checks spawned by this health monitor is handled as any other traffic\n (that is, subject to the configuration of listeners and pools on the target load\n balancer).\n- This health monitor does not affect how pool member health is determined within the\n target load balancer.\n\nFor more information, see [Private Path network load balancer frequently asked\nquestions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs)." } ] }, "href": { "description": "The URL for this load balancer pool", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer pool", "example": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "instance_group": { "allOf": [ { "$ref": "#/components/schemas/InstanceGroupReference" }, { "description": "The instance group that is managing this pool." } ] }, "members": { "description": "The backend server members of the pool", "items": { "$ref": "#/components/schemas/LoadBalancerPoolMemberReference" }, "type": "array" }, "name": { "description": "The name for this load balancer pool. The name is unique across all pools for the load\nbalancer.", "example": "my-load-balancer-pool", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The protocol for this load balancer pool.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "provisioning_status": { "description": "The provisioning status of this pool\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "create_pending", "delete_pending", "failed", "update_pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "proxy_protocol": { "description": "The PROXY protocol setting for this pool:\n- `v1`: Enabled with version 1 (human-readable header format)\n- `v2`: Enabled with version 2 (binary header format)\n- `disabled`: Disabled\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "disabled", "v1", "v2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "session_persistence": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolSessionPersistence" }, { "description": "The session persistence of this pool.\n\nIf absent, session persistence will be disabled, and traffic will be distributed\nacross backend server members of the pool." } ] } }, "required": [ "algorithm", "created_at", "failsafe_policy", "health_monitor", "href", "id", "name", "protocol", "provisioning_status", "proxy_protocol" ], "type": "object", "title": "LoadBalancerPool" }, "LoadBalancerPoolCollection": { "example": { "pools": [ { "algorithm": "round_robin", "created_at": "2024-11-11T02:04:42Z", "failsafe_policy": { "action": "forward", "healthy_member_threshold_count": 0, "target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancersr006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/poolsr006-d7e6cc04-a6ab-483b-9dfe-e1da726c4a69", "id": "r006-d7e6cc04-a6ab-483b-9dfe-e1da726c4a69", "name": "my-load-balancer-pool-2" } }, "health_monitor": { "delay": 5, "max_retries": 2, "timeout": 2, "type": "http", "url_path": "/" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "members": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-241d4e0a-48d9-4bca-bf44-bcc3029ac05e", "id": "r006-241d4e0a-48d9-4bca-bf44-bcc3029ac05e" } ], "name": "my-load-balancer-pool", "protocol": "tcp", "provisioning_status": "active", "proxy_protocol": "v1", "session_persistence": { "type": "source_ip" } }, { "algorithm": "round_robin", "created_at": "2024-11-11T02:05:53Z", "failsafe_policy": { "action": "forward", "healthy_member_threshold_count": 0, "target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "name": "my-load-balancer-pool" } }, "health_monitor": { "delay": 5, "max_retries": 2, "timeout": 2, "type": "http", "url_path": "/" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-d7e6cc04-a6ab-483b-9dfe-e1da726c4a69", "id": "r006-d7e6cc04-a6ab-483b-9dfe-e1da726c4a69", "members": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-e69c6576-e932-4f88-8137-d1ec3d3466ad", "id": "r006-e69c6576-e932-4f88-8137-d1ec3d3466ad" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-1941c1f6-a155-489f-a879-ea447bf47943", "id": "r006-1941c1f6-a155-489f-a879-ea447bf47943" } ], "name": "my-load-balancer-pool-2", "protocol": "tcp", "provisioning_status": "active", "proxy_protocol": "disabled", "session_persistence": { "type": "source_ip" } } ] }, "properties": { "pools": { "description": "The pools for the load balancer", "items": { "$ref": "#/components/schemas/LoadBalancerPool" }, "type": "array" } }, "required": [ "pools" ], "type": "object", "title": "LoadBalancerPoolCollection" }, "LoadBalancerPoolFailsafePolicy": { "properties": { "action": { "description": "A load balancer failsafe policy action:\n- `bypass`: Bypasses the members and sends requests directly to their destination IPs.\n- `drop`: Drops requests.\n- `fail`: Fails requests with an HTTP `503` status code.\n- `forward`: Forwards requests to the `target` pool.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "bypass", "drop", "fail", "forward" ], "example": "forward", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "healthy_member_threshold_count": { "description": "The healthy member count at which the failsafe policy action will be triggered. At\npresent, this is always `0`, but may be modifiable in the future.", "example": 0, "minimum": 0, "type": "integer" }, "target": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolReference" }, { "description": "If `action` is `forward`, the target pool to forward to.\n\nIf `action` is not `forward`, this property will be absent.\n\nThe targets supported by this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future." } ] } }, "required": [ "action", "healthy_member_threshold_count" ], "type": "object", "title": "LoadBalancerPoolFailsafePolicy" }, "LoadBalancerPoolFailsafePolicyPatch": { "description": "The failsafe policy for this load balancer pool.", "properties": { "action": { "description": "A load balancer failsafe policy action:\n- `bypass`: Bypasses the members and sends requests directly to their destination IPs.\nIf specified, this load balancer must have `route_mode` enabled.\n- `drop`: Drops requests. If specified, the pool protocol must be `tcp`.\n- `fail`: Fails requests with an HTTP `503` status code. If specified, the pool\nprotocol must be `http` or `https`.\n- `forward`: Forwards requests to the `target` pool. If specified, the pool protocol\nmust be `http` or `https`.\n\nThe specified value must be listed in the `failsafe_policy_actions` for this pool's load\nbalancer.", "enum": [ "bypass", "drop", "fail", "forward" ], "example": "forward", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "target": { "$ref": "#/components/schemas/LoadBalancerPoolFailsafePolicyTargetPatch" } }, "type": "object", "title": "LoadBalancerPoolFailsafePolicyPatch" }, "LoadBalancerPoolFailsafePolicyPrototype": { "properties": { "action": { "description": "A load balancer failsafe policy action:\n- `bypass`: Bypasses the members and sends requests directly to their destination IPs.\nIf specified, this load balancer must have `route_mode` enabled.\n- `drop`: Drops requests. If specified, the pool protocol must be `tcp`.\n- `fail`: Fails requests with an HTTP `503` status code. If specified, the pool\nprotocol must be `http` or `https`.\n- `forward`: Forwards requests to the `target` pool. If specified, the pool protocol\nmust be `http` or `https`.\n\nThe specified value must be listed in the `failsafe_policy_actions` for this pool's load\nbalancer.", "enum": [ "bypass", "drop", "fail", "forward" ], "example": "forward", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "target": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentity" }, { "description": "The failsafe target pool to forward to.\n\nThe specified pool must:\n- Belong to this load balancer\n- Have the same `protocol` as this pool, or have a compatible protocol.\n At present, the compatible protocols are `http` and `https`.\n- Have a `failsafe_policy.action` of `fail` or `drop`\n\nIf specified, `action` must be `forward`." } ] } }, "type": "object", "title": "LoadBalancerPoolFailsafePolicyPrototype" }, "LoadBalancerPoolFailsafePolicyTargetPatch": { "description": "The failsafe target pool to forward to.\n\nThe specified pool must:\n- Belong to this load balancer\n- Have the same `protocol` as this pool, or have a compatible protocol.\n At present, the compatible protocols are `http` and `https`.\n- Not have a `failsafe_policy.action` of `forward` or `bypass`.\n\nIf specified, `action` must be `forward`.\n\nSpecify `null` to remove an existing failsafe target pool.", "example": { "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004" }, "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentityById" }, { "$ref": "#/components/schemas/LoadBalancerPoolIdentityByHref" } ], "type": "object", "title": "LoadBalancerPoolFailsafePolicyTargetPatch" }, "LoadBalancerPoolHealthMonitor": { "example": { "delay": 5, "max_retries": 2, "timeout": 2, "type": "http", "url_path": "/" }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeTCP" }, { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPS" } ], "properties": { "delay": { "description": "The seconds to wait between health checks.", "example": 5, "maximum": 60, "minimum": 2, "type": "integer" }, "max_retries": { "description": "The health check max retries.", "example": 2, "maximum": 10, "minimum": 1, "type": "integer" }, "port": { "allOf": [ { "$ref": "#/components/schemas/TCPUDPPort" } ], "description": "The health check port.\n\nIf present, this overrides the pool member port values." }, "timeout": { "description": "The seconds to wait for a response to a health check.", "example": 2, "maximum": 59, "minimum": 1, "type": "integer" }, "type": { "description": "The protocol type used for health checks.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "http", "https", "tcp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "delay", "max_retries", "timeout", "type" ], "type": "object", "title": "LoadBalancerPoolHealthMonitor" }, "LoadBalancerPoolHealthMonitorPatch": { "properties": { "delay": { "description": "The seconds to wait between health checks. Must be greater than `timeout`.", "example": 5, "maximum": 60, "minimum": 2, "type": "integer" }, "max_retries": { "description": "The health check max retries.", "example": 2, "maximum": 10, "minimum": 1, "type": "integer" }, "port": { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorPortPatch" }, "timeout": { "description": "The seconds to wait for a response to a health check. Must be less than `delay`.", "example": 2, "maximum": 59, "minimum": 1, "type": "integer" }, "type": { "description": "The protocol type to use for health checks.", "enum": [ "http", "https", "tcp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "url_path": { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorURLPathPatch" } }, "required": [ "delay", "max_retries", "timeout", "type" ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolHealthMonitorPatch" }, "LoadBalancerPoolHealthMonitorPortPatch": { "description": "The health check port.\n\nIf set, this overrides the pool member port values.\n\nSpecify `null` to remove an existing health check port.", "example": 22, "maximum": 65535, "minimum": 1, "nullable": true, "type": "integer", "title": "LoadBalancerPoolHealthMonitorPortPatch" }, "LoadBalancerPoolHealthMonitorPrototype": { "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeTCPPrototype" }, { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSPrototype" } ], "properties": { "delay": { "description": "The seconds to wait between health checks. Must be greater than `timeout`.", "example": 5, "maximum": 60, "minimum": 2, "type": "integer" }, "max_retries": { "description": "The health check max retries.", "example": 2, "maximum": 10, "minimum": 1, "type": "integer" }, "port": { "allOf": [ { "$ref": "#/components/schemas/TCPUDPPort" } ], "description": "The health check port.\n\nIf specified, this overrides the pool member port values." }, "timeout": { "description": "The seconds to wait for a response to a health check. Must be less than `delay`.", "example": 2, "maximum": 59, "minimum": 1, "type": "integer" }, "type": { "description": "The protocol type to use for health checks.", "enum": [ "http", "https", "tcp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "delay", "max_retries", "timeout", "type" ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolHealthMonitorPrototype" }, "LoadBalancerPoolHealthMonitorTypeHTTPHTTPS": { "properties": { "type": { "description": "The protocol type used for health checks.", "enum": [ "http", "https" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "url_path": { "description": "The health check URL path, in the format of an [origin-form request\ntarget](https://tools.ietf.org/html/rfc7230#section-5.3.1).", "example": "/", "maxLength": 8192, "minLength": 1, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string" } }, "required": [ "type", "url_path" ], "type": "object", "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPS" }, "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSPrototype": { "properties": { "type": { "description": "The protocol type to use for health checks.", "enum": [ "http", "https" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "url_path": { "default": "/", "description": "The health check URL path to use.\n\nMust be in the format of an [origin-form request\ntarget](https://tools.ietf.org/html/rfc7230#section-5.3.1).", "example": "/", "maxLength": 8192, "minLength": 1, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSPrototype" }, "LoadBalancerPoolHealthMonitorTypeTCP": { "properties": { "type": { "description": "The protocol type used for health checks.", "enum": [ "tcp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerPoolHealthMonitorTypeTCP" }, "LoadBalancerPoolHealthMonitorTypeTCPPrototype": { "properties": { "type": { "description": "The protocol type to use for health checks.", "enum": [ "tcp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerPoolHealthMonitorTypeTCPPrototype" }, "LoadBalancerPoolHealthMonitorURLPathPatch": { "description": "The health check URL path. If specified, `type` must be `http` or `https`.\n\nMust be in the format of an [origin-form request\ntarget](https://tools.ietf.org/html/rfc7230#section-5.3.1).\n\nSpecify `null` to remove a url_path.", "example": "/", "maxLength": 8192, "minLength": 1, "nullable": true, "pattern": "^\\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\\/?]|%[a-fA-F0-9]{2})*)?$", "type": "string", "title": "LoadBalancerPoolHealthMonitorURLPathPatch" }, "LoadBalancerPoolIdentity": { "description": "Identifies a load balancer pool by a unique property.", "example": { "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004" }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolIdentityById" }, { "$ref": "#/components/schemas/LoadBalancerPoolIdentityByHref" } ], "type": "object", "title": "LoadBalancerPoolIdentity" }, "LoadBalancerPoolIdentityByHref": { "properties": { "href": { "description": "The URL for this load balancer pool", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "LoadBalancerPoolIdentityByHref" }, "LoadBalancerPoolIdentityById": { "properties": { "id": { "description": "The unique identifier for this load balancer pool", "example": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "LoadBalancerPoolIdentityById" }, "LoadBalancerPoolIdentityByName": { "properties": { "name": { "description": "The name for this load balancer pool. The name is unique across all pools for the load\nbalancer.", "example": "my-load-balancer-pool", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "LoadBalancerPoolIdentityByName" }, "LoadBalancerPoolMember": { "example": { "created_at": "2024-11-11T02:37:45Z", "health": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "port": 80, "provisioning_status": "active", "target": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "weight": 50 }, "properties": { "created_at": { "description": "The date and time that this member was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "health": { "description": "The health of the member.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "faulted", "ok", "unknown" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this load balancer pool member", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer pool member", "example": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "port": { "description": "The port the member will receive load balancer traffic on. Applies only to load\nbalancer traffic received on a listener with a single port. (If the traffic is\nreceived on a listener with a port range, the member will receive the traffic on the\nsame port the listener received it on.)\n\nThis port will also be used for health checks unless the `port` property of\n`health_monitor` property is specified.", "example": 80, "maximum": 65535, "minimum": 1, "type": "integer" }, "provisioning_status": { "description": "The provisioning status of this member\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "create_pending", "delete_pending", "failed", "update_pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "target": { "$ref": "#/components/schemas/LoadBalancerPoolMemberTarget" }, "weight": { "description": "The weight of the member.\n\nThis property will be present if the pool algorithm is `weighted_round_robin`.", "example": 50, "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "created_at", "health", "href", "id", "port", "provisioning_status", "target" ], "type": "object", "title": "LoadBalancerPoolMember" }, "LoadBalancerPoolMemberCollection": { "example": { "members": [ { "created_at": "2024-11-11T02:37:45Z", "health": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "port": 80, "provisioning_status": "active", "target": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "weight": 50 }, { "created_at": "2024-11-11T02:37:45Z", "health": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-8e956215-a73d-4465-853d-c27921f30d7b", "id": "r006-8e956215-a73d-4465-853d-c27921f30d7b", "port": 8080, "provisioning_status": "active", "target": { "address": "10.0.1.6" }, "weight": 50 } ] }, "properties": { "members": { "description": "The members for the load balancer pool", "items": { "$ref": "#/components/schemas/LoadBalancerPoolMember" }, "type": "array" } }, "required": [ "members" ], "type": "object", "title": "LoadBalancerPoolMemberCollection" }, "LoadBalancerPoolMemberCollectionPrototype": { "properties": { "members": { "description": "The member prototype objects for this pool.", "items": { "$ref": "#/components/schemas/LoadBalancerPoolMemberPrototype" }, "type": "array" } }, "required": [ "members" ], "type": "object", "title": "LoadBalancerPoolMemberCollectionPrototype" }, "LoadBalancerPoolMemberPatch": { "properties": { "port": { "description": "The port the member will receive load balancer traffic on. Applies only to load\nbalancer traffic received on a listener with a single port. (If the traffic is\nreceived on a listener with a port range, the member will receive the traffic on the\nsame port the listener received it on.)\n\nThis port will also be used for health checks unless the `port` property of\n`health_monitor` property is specified.\n\nThe port must be unique across all members for all pools associated with this pool's\nlistener.\n\nFor load balancers in the `network` family, the same `port` and `target` tuple cannot\nbe shared by a pool member of any other load balancer in the same VPC.", "example": 80, "maximum": 65535, "minimum": 1, "type": "integer" }, "target": { "$ref": "#/components/schemas/LoadBalancerPoolMemberTargetPrototype" }, "weight": { "description": "The weight of the member.\n\nIf specified, the pool algorithm must be `weighted_round_robin`.", "example": 50, "maximum": 100, "minimum": 0, "type": "integer" } }, "type": "object", "title": "LoadBalancerPoolMemberPatch" }, "LoadBalancerPoolMemberPrototype": { "properties": { "port": { "description": "The port the member will receive load balancer traffic on. Applies only to load\nbalancer traffic received on a listener with a single port. (If the traffic is\nreceived on a listener with a port range, the member will receive the traffic on the\nsame port the listener received it on.)\n\nThis port will also be used for health checks unless the `port` property of\n`health_monitor` property is specified.\n\nThe port must be unique across all members for all pools associated with this pool's\nlistener.\n\nFor load balancers in the `network` family, the same `port` and `target` tuple cannot\nbe shared by a pool member of any other load balancer in the same VPC.", "example": 80, "maximum": 65535, "minimum": 1, "type": "integer" }, "target": { "$ref": "#/components/schemas/LoadBalancerPoolMemberTargetPrototype" }, "weight": { "description": "The weight of the member.\n\nIf specified, the pool algorithm must be `weighted_round_robin` and the\nload balancer must be in the `application` family.\n\nIf unspecified, the weight will be `50` for load balancers in the `application`\nfamily", "example": 50, "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "port", "target" ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolMemberPrototype" }, "LoadBalancerPoolMemberReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "id": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this load balancer pool member", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004/members/r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer pool member", "example": "r006-4a4b345f-cf6b-4326-8202-6d8229e9833a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "href", "id" ], "type": "object", "title": "LoadBalancerPoolMemberReference" }, "LoadBalancerPoolMemberTarget": { "description": "The pool member target.", "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "oneOf": [ { "allOf": [ { "$ref": "#/components/schemas/InstanceReference" }, { "description": "The virtual server instance targeted by the pool member. Supported by load balancers in\nthe `network` family." } ] }, { "allOf": [ { "$ref": "#/components/schemas/IP" }, { "description": "The IP address targeted by the pool member. Supported by load balancers in the\n`application` family." } ] }, { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerReference" }, { "description": "The load balancer targeted by the pool member. Supported by load balancer profiles with\n`targetable_load_balancer_profiles`." } ] } ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolMemberTarget" }, "LoadBalancerPoolMemberTargetPrototype": { "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/InstanceIdentity" }, { "description": "The virtual server instance to target. The virtual server instance must reside in the\nsame VPC as the load balancer. The primary IP address of the primary network interface\nof the virtual server instance will be targeted by this pool member." } ] }, { "allOf": [ { "$ref": "#/components/schemas/IP" }, { "description": "The IP address to target. The address must be reachable from the load balancer's VPC." } ] }, { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerIdentity" }, { "description": "The load balancer to target.\n\nThe target's profile must be included in the `targetable_load_balancer_profiles` of\nthe profile for this member's load balancer. The pool must not have another member." } ] } ], "description": "The pool member target.\n\nIf the load balancer has `route_mode` set to `true`, the member must be in a zone the load\nbalancer has a subnet in.\n\nFor load balancers in the `network` family, the same `port` and `target` tuple cannot\nbe shared by a pool member of any other load balancer in the same VPC.", "maxProperties": 1, "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolMemberTargetPrototype" }, "LoadBalancerPoolPatch": { "properties": { "algorithm": { "description": "The load balancing algorithm. The `least_connections` algorithm is only supported\nfor load balancers that have `availability` with value `subnet` in the profile.", "enum": [ "least_connections", "round_robin", "weighted_round_robin" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "failsafe_policy": { "$ref": "#/components/schemas/LoadBalancerPoolFailsafePolicyPatch" }, "health_monitor": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorPatch" }, { "description": "The health monitor of this pool.\n\nIf this pool has a member targeting a load balancer then:\n\n- If the targeted load balancer has multiple subnets, this health monitor will be\n used to direct traffic to the available subnets.\n- The health checks spawned by this health monitor will be handled as any other\n traffic (that is, subject to the configuration of listeners and pools on the\n target load balancer).\n- This health monitor does not affect how pool member health is determined within\n the target load balancer.\n\nFor more information, see [Private Path network load balancer frequently asked\nquestions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs)." } ] }, "name": { "description": "The name for this load balancer pool. The name must not be used by another pool for\nthe load balancer.", "example": "my-load-balancer-pool", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The protocol for this load balancer pool.\n\nLoad balancers in the `network` family support `tcp` and `udp` (if `udp_supported`\nis `true`). Load balancers in the `application` family support `tcp`, `http` and\n`https`.\n\nIf this pool is associated with a load balancer listener or a load balancer\nfailsafe target pool, the specified protocol must match or be compatible with each\nother's protocol. At present, the compatible protocols are `http` and `https`.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "proxy_protocol": { "description": "The PROXY protocol setting for this pool:\n- `v1`: Enabled with version 1 (human-readable header format)\n- `v2`: Enabled with version 2 (binary header format)\n- `disabled`: Disabled\n\nFor load balancers in the `network` family, this property must be `disabled`.", "enum": [ "disabled", "v1", "v2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "session_persistence": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolSessionPersistencePatch" }, { "description": "The session persistence of this pool." } ] } }, "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolPatch" }, "LoadBalancerPoolPrototype": { "properties": { "algorithm": { "description": "The load balancing algorithm. The `least_connections` algorithm is only supported\nfor load balancers that have `availability` with value `subnet` in the profile.", "enum": [ "least_connections", "round_robin", "weighted_round_robin" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "failsafe_policy": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolFailsafePolicyPrototype" } ], "description": "The failsafe policy to use for this pool.\n\nIf unspecified, the default failsafe policy action from the profile will be used." }, "health_monitor": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorPrototype" }, { "description": "The health monitor of this pool.\n\nIf this pool has a member targeting a load balancer then:\n\n- If the targeted load balancer has multiple subnets, this health monitor will be\n used to direct traffic to the available subnets.\n- The health checks spawned by this health monitor will be handled as any other\n traffic (that is, subject to the configuration of listeners and pools on the target\n load balancer).\n- This health monitor does not affect how pool member health is determined within the\n target load balancer.\n\nFor more information, see [Private Path network load balancer frequently asked\nquestions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs)." } ] }, "members": { "description": "The members for this load balancer pool. For load balancers in the `network` family, the\nsame `port` and `target` tuple cannot be shared by a pool member of any other load\nbalancer in the same VPC.", "items": { "$ref": "#/components/schemas/LoadBalancerPoolMemberPrototype" }, "type": "array" }, "name": { "description": "The name for this load balancer pool. The name must not be used by another pool for the\nload balancer. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-load-balancer-pool", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The protocol used for this load balancer pool. Load balancers in the `network` family\nsupport `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the\n`application` family support `tcp`, `http`, and `https`.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "proxy_protocol": { "default": "disabled", "description": "The PROXY protocol setting for this pool:\n- `v1`: Enabled with version 1 (human-readable header format)\n- `v2`: Enabled with version 2 (binary header format)\n- `disabled`: Disabled\n\nFor load balancers in the `network` family, this property must be `disabled`.", "enum": [ "disabled", "v1", "v2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "session_persistence": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolSessionPersistencePrototype" }, { "description": "The session persistence of this pool. If specified, the load balancer must have\n`source_ip_session_persistence_supported` set to `true` in its profile.\n\nIf unspecified, session persistence will be disabled, and traffic will be distributed\nacross members of the pool." } ] } }, "required": [ "algorithm", "health_monitor", "protocol" ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolPrototype" }, "LoadBalancerPoolPrototypeLoadBalancerContext": { "properties": { "algorithm": { "description": "The load balancing algorithm. The `least_connections` algorithm is only supported\nfor load balancers that have `availability` with value `subnet` in the profile.", "enum": [ "least_connections", "round_robin", "weighted_round_robin" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "health_monitor": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorPrototype" }, { "description": "The health monitor of this pool.\n\nIf this pool has a member targeting a load balancer then:\n\n- If the targeted load balancer has multiple subnets, this health monitor will be\n used to direct traffic to the available subnets.\n- The health checks spawned by this health monitor will be handled as any other\n traffic (that is, subject to the configuration of listeners and pools on the target\n load balancer).\n- This health monitor does not affect how pool member health is determined within the\n target load balancer.\n\nFor more information, see [Private Path network load balancer frequently asked\nquestions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs)." } ] }, "members": { "description": "The members for this load balancer pool. For load balancers in the `network` family, the\nsame `port` and `target` tuple cannot be shared by a pool member of any other load\nbalancer in the same VPC.", "items": { "$ref": "#/components/schemas/LoadBalancerPoolMemberPrototype" }, "type": "array" }, "name": { "description": "The name for this load balancer pool. The name must not be used by another pool for the\nload balancer. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-load-balancer-pool", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The protocol used for this load balancer pool. Load balancers in the `network` family\nsupport `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the\n`application` family support `tcp`, `http`, and `https`.", "enum": [ "http", "https", "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "proxy_protocol": { "default": "disabled", "description": "The PROXY protocol setting for this pool:\n- `v1`: Enabled with version 1 (human-readable header format)\n- `v2`: Enabled with version 2 (binary header format)\n- `disabled`: Disabled\n\nFor load balancers in the `network` family, this property must be `disabled`.", "enum": [ "disabled", "v1", "v2" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "session_persistence": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerPoolSessionPersistencePrototype" }, { "description": "The session persistence of this pool. If specified, the load balancer must have\n`source_ip_session_persistence_supported` set to `true` in its profile.\n\nIf unspecified, session persistence will be disabled, and traffic will be distributed\nacross members of the pool." } ] } }, "required": [ "algorithm", "health_monitor", "protocol" ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolPrototypeLoadBalancerContext" }, "LoadBalancerPoolReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "name": "my-load-balancer-pool" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this load balancer pool", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/r006-70294e14-4e61-11e8-bcf4-0242ac110004", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer pool", "example": "r006-70294e14-4e61-11e8-bcf4-0242ac110004", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this load balancer pool. The name is unique across all pools for the load\nbalancer.", "example": "my-load-balancer-pool", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "id", "name" ], "type": "object", "title": "LoadBalancerPoolReference" }, "LoadBalancerPoolSessionPersistence": { "properties": { "cookie_name": { "description": "The session persistence cookie name.", "example": "my-cookie-name", "maxLength": 128, "minLength": 1, "pattern": "^[-A-Za-z0-9!#$%&'*+.^_`~|]+$", "type": "string" }, "type": { "description": "The session persistence type.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "app_cookie", "http_cookie", "source_ip" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerPoolSessionPersistence" }, "LoadBalancerPoolSessionPersistencePatch": { "description": "The session persistence configuration. Specify `null` to remove any existing session\npersistence configuration.", "nullable": true, "properties": { "cookie_name": { "description": "The session persistence cookie name. Names starting with `IBM` are not allowed.\n\nIf specified, the session persistence type must be `app_cookie`.", "example": "my-cookie-name", "maxLength": 128, "minLength": 1, "pattern": "^[-A-Za-z0-9!#$%&'*+.^_`~|]+$", "type": "string" }, "type": { "description": "The session persistence type.\n\nIf `http_cookie` or `app_cookie` is specified, the pool protocol must be `http` or\n`https`.", "enum": [ "app_cookie", "http_cookie", "source_ip" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolSessionPersistencePatch" }, "LoadBalancerPoolSessionPersistencePrototype": { "properties": { "cookie_name": { "description": "The session persistence cookie name. Names starting with `IBM` are not allowed.\n\nIf specified, the session persistence type must be `app_cookie`.", "example": "my-cookie-name", "maxLength": 128, "minLength": 1, "pattern": "^[-A-Za-z0-9!#$%&'*+.^_`~|]+$", "type": "string" }, "type": { "description": "The session persistence type.\n\nIf `http_cookie` or `app_cookie` is specified, the pool protocol must be `http` or\n`https`.", "enum": [ "app_cookie", "http_cookie", "source_ip" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerPoolSessionPersistencePrototype" }, "LoadBalancerProfile": { "example": { "access_modes": { "type": "enum", "values": [ "public", "private", "public", "private" ] }, "availability": { "type": "fixed", "value": "subnet" }, "failsafe_policy_actions": { "default": "fail", "type": "enum", "values": [ "fail", "forward", "fail", "forward" ] }, "family": "application", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic", "instance_groups_supported": { "type": "fixed", "value": true }, "logging_supported": { "type": "fixed", "value": [ "datapath", "datapath" ] }, "name": "dynamic", "route_mode_supported": { "type": "fixed", "value": true }, "security_groups_supported": { "type": "fixed", "value": true }, "source_ip_session_persistence_supported": { "type": "fixed", "value": true }, "targetable_load_balancer_profiles": [ { "family": "application", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic", "name": "dynamic" } ], "udp_supported": { "type": "fixed", "value": true } }, "properties": { "access_modes": { "$ref": "#/components/schemas/LoadBalancerProfileAccessModes" }, "availability": { "$ref": "#/components/schemas/LoadBalancerProfileAvailability" }, "failsafe_policy_actions": { "$ref": "#/components/schemas/LoadBalancerProfileFailsafePolicyActions" }, "family": { "description": "The product family this load balancer profile belongs to.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "application", "network" ], "example": "application", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this load balancer profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "instance_groups_supported": { "$ref": "#/components/schemas/LoadBalancerProfileInstanceGroupsSupported" }, "logging_supported": { "$ref": "#/components/schemas/LoadBalancerProfileLoggingSupported" }, "name": { "description": "The globally unique name for this load balancer profile", "example": "network-fixed", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "route_mode_supported": { "$ref": "#/components/schemas/LoadBalancerProfileRouteModeSupported" }, "security_groups_supported": { "$ref": "#/components/schemas/LoadBalancerProfileSecurityGroupsSupported" }, "source_ip_session_persistence_supported": { "$ref": "#/components/schemas/LoadBalancerProfileSourceIPSessionPersistenceSupported" }, "targetable_load_balancer_profiles": { "description": "The load balancer profiles that load balancers with this profile can target.", "format": "set", "items": { "$ref": "#/components/schemas/LoadBalancerProfileReference" }, "maxItems": 100, "minItems": 0, "type": "array", "uniqueItems": true }, "udp_supported": { "$ref": "#/components/schemas/LoadBalancerProfileUDPSupported" } }, "required": [ "access_modes", "availability", "failsafe_policy_actions", "family", "href", "instance_groups_supported", "logging_supported", "name", "route_mode_supported", "security_groups_supported", "source_ip_session_persistence_supported", "targetable_load_balancer_profiles", "udp_supported" ], "type": "object", "title": "LoadBalancerProfile" }, "LoadBalancerProfileAccessModes": { "example": { "type": "enum", "values": [ "public", "private" ] }, "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The access modes supported by load balancers with this profile.", "items": { "description": "The access mode for this load balancer:\n- `private`: reachable from within its VPC, at IP addresses in `private_ips`\n- `private_path`: reachable through an endpoint gateway\n- `public`: reachable from the internet at the IP addresses in `public_ips`.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "private", "private_path", "public" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "LoadBalancerProfileAccessModes" }, "LoadBalancerProfileAvailability": { "example": { "type": "fixed", "value": "subnet" }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileAvailabilityFixed" }, { "$ref": "#/components/schemas/LoadBalancerProfileAvailabilityDependent" } ], "type": "object", "title": "LoadBalancerProfileAvailability" }, "LoadBalancerProfileAvailabilityDependent": { "description": "The availability mode for a load balancer with this profile depends on its\nconfiguration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerProfileAvailabilityDependent" }, "LoadBalancerProfileAvailabilityFixed": { "description": "The availability mode for a load balancer with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The availability of this load balancer:\n- `subnet`: remains available if at least one zone that the load balancer's subnets reside\n in is available\n- `region`: remains available if at least one zone in the region is available.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "region", "subnet" ], "example": "region", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type", "value" ], "type": "object", "title": "LoadBalancerProfileAvailabilityFixed" }, "LoadBalancerProfileCollection": { "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "profiles": { "description": "A page of load balancer profiles", "items": { "$ref": "#/components/schemas/LoadBalancerProfile" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "profiles", "total_count" ], "type": "object", "title": "LoadBalancerProfileCollection" }, "LoadBalancerProfileFailsafePolicyActions": { "example": { "default": "fail", "type": "enum", "values": [ "fail", "forward" ] }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileFailsafePolicyActionsEnum" }, { "$ref": "#/components/schemas/LoadBalancerProfileFailsafePolicyActionsDependent" } ], "type": "object", "title": "LoadBalancerProfileFailsafePolicyActions" }, "LoadBalancerProfileFailsafePolicyActionsDependent": { "description": "The failsafe policy action configuration for a load balancer with this profile depends on\nits configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerProfileFailsafePolicyActionsDependent" }, "LoadBalancerProfileFailsafePolicyActionsEnum": { "description": "The failsafe policy action configuration for a load balancer with this profile", "properties": { "default": { "description": "The default failsafe policy action for this profile.", "enum": [ "bypass", "drop", "fail", "forward" ], "example": "fail", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The supported failsafe policy actions.", "example": [ "forward", "fail" ], "items": { "description": "A load balancer failsafe policy action:\n- `bypass`: Bypasses the members and sends requests directly to their destination IPs.\n- `drop`: Drops requests.\n- `fail`: Fails requests with an HTTP `503` status code.\n- `forward`: Forwards requests to the `target` pool.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "bypass", "drop", "fail", "forward" ], "example": "forward", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "LoadBalancerProfileFailsafePolicyActionsEnum" }, "LoadBalancerProfileIdentity": { "description": "Identifies a load balancer profile by a unique property.", "example": { "name": "network-fixed" }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileIdentityByName" }, { "$ref": "#/components/schemas/LoadBalancerProfileIdentityByHref" } ], "type": "object", "title": "LoadBalancerProfileIdentity" }, "LoadBalancerProfileIdentityByHref": { "properties": { "href": { "description": "The URL for this load balancer profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "LoadBalancerProfileIdentityByHref" }, "LoadBalancerProfileIdentityByName": { "properties": { "name": { "description": "The globally unique name for this load balancer profile", "example": "network-fixed", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "LoadBalancerProfileIdentityByName" }, "LoadBalancerProfileInstanceGroupsSupported": { "example": { "type": "fixed", "value": true }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileInstanceGroupsSupportedFixed" }, { "$ref": "#/components/schemas/LoadBalancerProfileInstanceGroupsSupportedDependent" } ], "type": "object", "title": "LoadBalancerProfileInstanceGroupsSupported" }, "LoadBalancerProfileInstanceGroupsSupportedDependent": { "description": "The instance groups support for a load balancer with this profile depends on its\nconfiguration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerProfileInstanceGroupsSupportedDependent" }, "LoadBalancerProfileInstanceGroupsSupportedFixed": { "description": "The instance groups support for a load balancer with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": true, "type": "boolean" } }, "required": [ "type", "value" ], "type": "object", "title": "LoadBalancerProfileInstanceGroupsSupportedFixed" }, "LoadBalancerProfileLoggingSupported": { "description": "Indicates which logging type(s) are supported for a load balancer with this profile", "example": { "type": "fixed", "value": [ "datapath" ] }, "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The supported logging type(s) for a load balancer with this profile", "items": { "description": "A supported logging type. The values correspond to the property names under the\n`logging` load balancer property.", "example": "datapath", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": "array" } }, "required": [ "type", "value" ], "type": "object", "title": "LoadBalancerProfileLoggingSupported" }, "LoadBalancerProfileReference": { "example": { "family": "application", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic", "name": "dynamic" }, "properties": { "family": { "description": "The product family this load balancer profile belongs to.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "application", "network" ], "example": "application", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this load balancer profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this load balancer profile", "example": "network-fixed", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "family", "href", "name" ], "type": "object", "title": "LoadBalancerProfileReference" }, "LoadBalancerProfileRouteModeSupported": { "example": { "type": "fixed", "value": true }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileRouteModeSupportedFixed" }, { "$ref": "#/components/schemas/LoadBalancerProfileRouteModeSupportedDependent" } ], "type": "object", "title": "LoadBalancerProfileRouteModeSupported" }, "LoadBalancerProfileRouteModeSupportedDependent": { "description": "The [route mode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) support\nfor a load balancer with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerProfileRouteModeSupportedDependent" }, "LoadBalancerProfileRouteModeSupportedFixed": { "description": "The [route mode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) support\nfor a load balancer with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": true, "type": "boolean" } }, "required": [ "type", "value" ], "type": "object", "title": "LoadBalancerProfileRouteModeSupportedFixed" }, "LoadBalancerProfileSecurityGroupsSupported": { "example": { "type": "fixed", "value": true }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileSecurityGroupsSupportedFixed" }, { "$ref": "#/components/schemas/LoadBalancerProfileSecurityGroupsSupportedDependent" } ], "type": "object", "title": "LoadBalancerProfileSecurityGroupsSupported" }, "LoadBalancerProfileSecurityGroupsSupportedDependent": { "description": "The security group support for a load balancer with this profile depends on its\nconfiguration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerProfileSecurityGroupsSupportedDependent" }, "LoadBalancerProfileSecurityGroupsSupportedFixed": { "description": "The security group support for a load balancer with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": true, "type": "boolean" } }, "required": [ "type", "value" ], "type": "object", "title": "LoadBalancerProfileSecurityGroupsSupportedFixed" }, "LoadBalancerProfileSourceIPSessionPersistenceSupported": { "example": { "type": "fixed", "value": true }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed" }, { "$ref": "#/components/schemas/LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent" } ], "type": "object", "title": "LoadBalancerProfileSourceIPSessionPersistenceSupported" }, "LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent": { "description": "The source IP session persistence support for a load balancer with this profile depends on\nits configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent" }, "LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed": { "description": "The source IP session persistence support for a load balancer with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": true, "type": "boolean" } }, "required": [ "type", "value" ], "type": "object", "title": "LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed" }, "LoadBalancerProfileUDPSupported": { "example": { "type": "fixed", "value": true }, "oneOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileUDPSupportedFixed" }, { "$ref": "#/components/schemas/LoadBalancerProfileUDPSupportedDependent" } ], "type": "object", "title": "LoadBalancerProfileUDPSupported" }, "LoadBalancerProfileUDPSupportedDependent": { "description": "The UDP support for a load balancer with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "LoadBalancerProfileUDPSupportedDependent" }, "LoadBalancerProfileUDPSupportedFixed": { "description": "The UDP support for a load balancer with this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": true, "type": "boolean" } }, "required": [ "type", "value" ], "type": "object", "title": "LoadBalancerProfileUDPSupportedFixed" }, "LoadBalancerPrototype": { "properties": { "dns": { "$ref": "#/components/schemas/LoadBalancerDNSPrototype" }, "is_private_path": { "default": false, "description": "Indicates whether this is a private path load balancer.", "example": true, "type": "boolean" }, "is_public": { "description": "Indicates whether this load balancer is public.\n\nAt present,\n- If `route_mode` is set to `true`, the load balancer must be private.\n- If `is_private_path` is specified, it must be set to `false`.", "example": true, "type": "boolean" }, "listeners": { "description": "The listeners of this load balancer", "items": { "$ref": "#/components/schemas/LoadBalancerListenerPrototypeLoadBalancerContext" }, "type": "array" }, "logging": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerLoggingPrototype" } ], "description": "The logging configuration to use for this load balancer. See [VPC Datapath\nLogging](https://cloud.ibm.com/docs/vpc?topic=vpc-datapath-logging) on the logging\nformat, fields and permitted values. If unspecified, `datapath.active` will be `false`.\n\nTo activate logging, the load balancer profile must support the specified logging type." }, "name": { "description": "The name for this load balancer. The name must not be used by another load balancer in\nthe VPC. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-load-balancer", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "pools": { "description": "The pools of this load balancer", "items": { "$ref": "#/components/schemas/LoadBalancerPoolPrototypeLoadBalancerContext" }, "type": "array" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerProfileIdentity" }, { "default": { "name": "application" }, "description": "The profile to use for this load balancer.\n\nIf unspecified, `application` will be used.", "example": { "name": "network-fixed" } } ] }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "route_mode": { "default": false, "description": "Indicates whether [route\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) is enabled for this\nload balancer.\n\nAt present, public load balancers are not supported with route mode enabled.", "example": true, "type": "boolean" }, "security_groups": { "description": "The security groups to use for this load balancer. If unspecified, the VPC's default\nsecurity group is used.\n\nThe load balancer profile must support security groups.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "type": "array", "uniqueItems": true }, "subnets": { "description": "The subnets to provision this load balancer in. The subnets must be in the same VPC.\n- If 'availability' is specified as `subnet` in the profile, the load balancer's\navailability will depend on the availability of the zones that the subnets reside in.\n- If 'availability' is specified as `region` in the profile, the load balancer remains\navailable as long as any zone in the region is available. Only members in healthy\nzones will be sent new connections.\n\nLoad balancers in the `network` family allow only one subnet to be specified.", "items": { "$ref": "#/components/schemas/SubnetIdentity" }, "maxItems": 15, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "is_public", "subnets" ], "type": "object", "title": "LoadBalancerPrototype" }, "LoadBalancerReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "name": "my-load-balancer", "resource_type": "load_balancer" }, "properties": { "crn": { "description": "The CRN for this load balancer", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this load balancer", "example": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this load balancer", "example": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this load balancer. The name is unique across all load balancers in the\nVPC.", "example": "my-load-balancer", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "load_balancer" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "x-unevaluatedProperties": false, "title": "LoadBalancerReference" }, "LoadBalancerStatistics": { "properties": { "active_connections": { "description": "The number of active connections for this load balancer", "example": 797, "format": "int64", "type": "integer" }, "connection_rate": { "description": "The current connection rate (connections per second) for this load balancer", "example": 91.121, "format": "float", "type": "number" }, "data_processed_this_month": { "description": "The total number of bytes processed for this load balancer for the current calendar\nmonth", "example": 10093173145, "format": "int64", "type": "integer" }, "throughput": { "description": "The current throughput (in Mbps) for this load balancer", "example": 167.278, "format": "float", "type": "number" } }, "required": [ "active_connections", "connection_rate", "data_processed_this_month", "throughput" ], "type": "object", "title": "LoadBalancerStatistics" }, "NetworkACL": { "example": { "created_at": "2024-12-12T09:24:17Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T04:21:14Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "id": "r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "created_at": { "description": "The date and time that the network ACL was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this network ACL", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this network ACL", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this network ACL", "example": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this network ACL. The name is unique across all network ACLs for the VPC.", "example": "my-network-acl", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" } ], "description": "The resource group for this network ACL" }, "rules": { "description": "The ordered rules for this network ACL.\nIf no rules exist, no traffic will be allowed.", "items": { "$ref": "#/components/schemas/NetworkACLRuleItem" }, "type": "array" }, "subnets": { "description": "The subnets to which this network ACL is attached", "items": { "$ref": "#/components/schemas/SubnetReference" }, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this network ACL resides in" } ] } }, "required": [ "created_at", "crn", "href", "id", "name", "resource_group", "rules", "subnets", "vpc" ], "type": "object", "title": "NetworkACL" }, "NetworkACLByRules": { "not": { "$ref": "#/components/schemas/NetworkACLByRulesNot" }, "properties": { "rules": { "description": "The prototype objects for rules to create along with this network ACL. If unspecified,\nno rules will be created, resulting in no traffic being allowed.", "items": { "$ref": "#/components/schemas/NetworkACLRulePrototypeNetworkACLContext" }, "type": "array" } }, "type": "object", "title": "NetworkACLByRules" }, "NetworkACLByRulesNot": { "properties": { "source_network_acl": { "$ref": "#/components/schemas/NetworkACLIdentity" } }, "required": [ "source_network_acl" ], "type": "object", "title": "NetworkACLByRulesNot" }, "NetworkACLBySourceNetworkACL": { "not": { "$ref": "#/components/schemas/NetworkACLBySourceNetworkACLNot" }, "properties": { "source_network_acl": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLIdentity" }, { "description": "The network ACL to copy rules from" } ] } }, "required": [ "source_network_acl" ], "type": "object", "title": "NetworkACLBySourceNetworkACL" }, "NetworkACLBySourceNetworkACLNot": { "properties": { "rules": { "items": { "$ref": "#/components/schemas/NetworkACLRuleItem" }, "type": "array" } }, "required": [ "rules" ], "type": "object", "title": "NetworkACLBySourceNetworkACLNot" }, "NetworkACLCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls?limit=50" }, "limit": 50, "network_acls": [ { "created_at": "2024-12-12T09:24:17Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T04:21:14Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "id": "r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "created_at": "2024-12-12T07:21:17Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a2ce7c07-7775-4aa6-b0c4-320ad5340f84", "id": "r006-a2ce7c07-7775-4aa6-b0c4-320ad5340f84", "name": "my-network-acl-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "action": "allow", "created_at": "2024-12-12T07:21:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a2ce7c07-7775-4aa6-b0c4-320ad5340f84/rules/r006-cb19f11d-0e25-4650-a8ab-f4539da563ee", "id": "r006-cb19f11d-0e25-4650-a8ab-f4539da563ee", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T07:21:17Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a2ce7c07-7775-4aa6-b0c4-320ad5340f84/rules/r006-2c46afc9-b30a-4453-8897-1096383fb053", "id": "r006-2c46afc9-b30a-4453-8897-1096383fb053", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "network_acls": { "description": "A page of network ACLs", "items": { "$ref": "#/components/schemas/NetworkACL" }, "type": "array" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "network_acls", "total_count" ], "type": "object", "title": "NetworkACLCollection" }, "NetworkACLIdentity": { "description": "Identifies a network ACL by a unique property.", "example": { "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf" }, "oneOf": [ { "$ref": "#/components/schemas/NetworkACLIdentityById" }, { "$ref": "#/components/schemas/NetworkACLIdentityByCRN" }, { "$ref": "#/components/schemas/NetworkACLIdentityByHref" } ], "type": "object", "title": "NetworkACLIdentity" }, "NetworkACLIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this network ACL", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "NetworkACLIdentityByCRN" }, "NetworkACLIdentityByHref": { "properties": { "href": { "description": "The URL for this network ACL", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "NetworkACLIdentityByHref" }, "NetworkACLIdentityById": { "properties": { "id": { "description": "The unique identifier for this network ACL", "example": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "NetworkACLIdentityById" }, "NetworkACLPatch": { "properties": { "name": { "description": "The name for this network ACL. The name must not be used by another network ACL for\nthe VPC.", "example": "my-network-acl", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "NetworkACLPatch" }, "NetworkACLPrototype": { "oneOf": [ { "$ref": "#/components/schemas/NetworkACLByRules" }, { "$ref": "#/components/schemas/NetworkACLBySourceNetworkACL" } ], "properties": { "name": { "description": "The name for this network ACL. The name must not be used by another network ACL for\nthe VPC. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-network-acl", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this network ACL will reside in" } ] } }, "required": [ "vpc" ], "type": "object", "title": "NetworkACLPrototype" }, "NetworkACLReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "properties": { "crn": { "description": "The CRN for this network ACL", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this network ACL", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this network ACL", "example": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this network ACL. The name is unique across all network ACLs for the VPC.", "example": "my-network-acl", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "crn", "href", "id", "name" ], "type": "object", "title": "NetworkACLReference" }, "NetworkACLRule": { "discriminator": { "mapping": { "all": "#/components/schemas/NetworkACLRuleProtocolAll", "icmp": "#/components/schemas/NetworkACLRuleProtocolICMP", "tcp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP", "udp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP" }, "propertyName": "protocol" }, "example": { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, "oneOf": [ { "$ref": "#/components/schemas/NetworkACLRuleProtocolAll" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolICMP" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDP" } ], "properties": { "action": { "description": "The action to perform for a packet matching the rule.", "enum": [ "allow", "deny" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "before": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLRuleReference" } ], "description": "The rule that this rule is immediately before. If absent, this is the last rule.", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "name": "my-allow-inbound-rule" } }, "created_at": { "description": "The date and time that the rule was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "destination": { "description": "The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches\nall destination addresses.", "example": "192.168.3.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "direction": { "description": "The direction of traffic to match.", "enum": [ "inbound", "outbound" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this network ACL rule", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this network ACL rule", "example": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ip_version": { "description": "The IP version for this rule.", "enum": [ "ipv4" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this network ACL rule. The name is unique across all rules for the\nnetwork ACL.", "example": "my-network-acl-rule", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The network protocol.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "all", "icmp", "tcp", "udp" ], "example": "tcp", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source": { "description": "The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all\nsource addresses.", "example": "192.168.3.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" } }, "required": [ "action", "created_at", "destination", "direction", "href", "id", "ip_version", "name", "protocol", "source" ], "type": "object", "title": "NetworkACLRule" }, "NetworkACLRuleBeforePatch": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLRuleIdentity" } ], "description": "The rule to move this rule immediately before.\n\nSpecify `null` to move this rule after all existing rules.", "example": { "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9" }, "nullable": true, "type": "object", "title": "NetworkACLRuleBeforePatch" }, "NetworkACLRuleBeforePrototype": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLRuleIdentity" } ], "description": "The rule to insert this rule immediately before.\n\nIf unspecified, this rule will be inserted after all existing rules", "example": { "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9" }, "type": "object", "title": "NetworkACLRuleBeforePrototype" }, "NetworkACLRuleCodePatch": { "description": "The ICMP traffic code to match. If set, `type` must also be set.\n\nSpecify `null` to remove an existing ICMP traffic code.", "example": 0, "maximum": 255, "minimum": 0, "nullable": true, "type": "integer", "title": "NetworkACLRuleCodePatch" }, "NetworkACLRuleCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules?limit=50" }, "limit": 50, "rules": [ { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T04:21:14Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "id": "r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, { "action": "allow", "created_at": "2024-12-12T04:21:14Z", "destination": "0.0.0.0/0", "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "id": "r006-0b952e7f-0db6-4cbd-954f-92fbcc3acc39", "ip_version": "ipv4", "name": "my-allow-outbound-rule", "protocol": "all", "source": "0.0.0.0/0" } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "rules": { "description": "A page of ordered rules (sorted based on the `before` property) for the network ACL.", "items": { "$ref": "#/components/schemas/NetworkACLRuleItem" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "rules", "total_count" ], "type": "object", "title": "NetworkACLRuleCollection" }, "NetworkACLRuleDirection": { "enum": [ "inbound", "outbound" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "NetworkACLRuleDirection" }, "NetworkACLRuleIdentity": { "description": "Identifies a network ACL rule by a unique property.", "example": { "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9" }, "oneOf": [ { "$ref": "#/components/schemas/NetworkACLRuleIdentityById" }, { "$ref": "#/components/schemas/NetworkACLRuleIdentityByHref" } ], "type": "object", "title": "NetworkACLRuleIdentity" }, "NetworkACLRuleIdentityByHref": { "properties": { "href": { "description": "The URL for this network ACL rule", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "NetworkACLRuleIdentityByHref" }, "NetworkACLRuleIdentityById": { "properties": { "id": { "description": "The unique identifier for this network ACL rule", "example": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "NetworkACLRuleIdentityById" }, "NetworkACLRuleItem": { "discriminator": { "mapping": { "all": "#/components/schemas/NetworkACLRuleProtocolAll", "icmp": "#/components/schemas/NetworkACLRuleProtocolICMP", "tcp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP", "udp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP" }, "propertyName": "protocol" }, "example": { "action": "allow", "created_at": "2024-12-11T06:26:17Z", "destination": "0.0.0.0/0", "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "ip_version": "ipv4", "name": "my-allow-inbound-rule", "protocol": "all", "source": "0.0.0.0/0" }, "oneOf": [ { "$ref": "#/components/schemas/NetworkACLRuleProtocolAll" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolICMP" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDP" } ], "properties": { "action": { "description": "The action to perform for a packet matching the rule.", "enum": [ "allow", "deny" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "before": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLRuleReference" } ], "description": "The rule that this rule is immediately before. In a rule collection, this always\nrefers to the next item in the collection. If absent, this is the last rule.", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "name": "my-allow-inbound-rule" } }, "created_at": { "description": "The date and time that the rule was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "destination": { "description": "The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches\nall destination addresses.", "example": "192.168.3.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "direction": { "description": "The direction of traffic to match.", "enum": [ "inbound", "outbound" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this network ACL rule", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this network ACL rule", "example": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ip_version": { "description": "The IP version for this rule.", "enum": [ "ipv4" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this network ACL rule. The name is unique across all rules for the\nnetwork ACL.", "example": "my-network-acl-rule", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The network protocol.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "all", "icmp", "tcp", "udp" ], "example": "tcp", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source": { "description": "The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all\nsource addresses.", "example": "192.168.3.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" } }, "required": [ "action", "created_at", "destination", "direction", "href", "id", "ip_version", "name", "protocol", "source" ], "type": "object", "title": "NetworkACLRuleItem" }, "NetworkACLRulePatch": { "properties": { "action": { "description": "The action to perform for a packet matching the rule.", "enum": [ "allow", "deny" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "before": { "$ref": "#/components/schemas/NetworkACLRuleBeforePatch" }, "code": { "$ref": "#/components/schemas/NetworkACLRuleCodePatch" }, "destination": { "description": "The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches\nall destination addresses.", "example": "192.168.3.2/32", "maxLength": 18, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))?$", "type": "string" }, "destination_port_max": { "description": "The inclusive upper bound of the TCP or UDP destination port range.\n\nMust be larger than or equal to `destination_port_min`.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "destination_port_min": { "description": "The inclusive lower bound of the TCP or UDP destination port range.\n\nMust be smaller than or equal to `destination_port_max`.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "direction": { "description": "The direction of traffic to match.", "enum": [ "inbound", "outbound" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this network ACL rule. The name must not be used by another rule for the\nnetwork ACL.", "example": "my-network-acl-rule", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "source": { "description": "The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all\nsource addresses.", "example": "192.168.3.2/32", "maxLength": 18, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))?$", "type": "string" }, "source_port_max": { "description": "The inclusive upper bound of the TCP or UDP source port range.\n\nMust be larger than or equal to `source_port_min`.", "example": 65535, "maximum": 65535, "minimum": 1, "type": "integer" }, "source_port_min": { "description": "The inclusive lower bound of the TCP or UDP source port range.\n\nMust be smaller than or equal to `source_port_max`.", "example": 49152, "maximum": 65535, "minimum": 1, "type": "integer" }, "type": { "$ref": "#/components/schemas/NetworkACLRuleTypePatch" } }, "type": "object", "title": "NetworkACLRulePatch" }, "NetworkACLRuleProtocolAll": { "description": "A rule for ICMP, TCP and UDP traffic.", "properties": { "protocol": { "description": "The network protocol", "enum": [ "all" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "title": "NetworkACLRuleProtocolAll" }, "NetworkACLRuleProtocolAllPrototype": { "description": "A rule for ICMP, TCP and UDP traffic.", "properties": { "protocol": { "description": "The network protocol", "enum": [ "all" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "title": "NetworkACLRuleProtocolAllPrototype" }, "NetworkACLRuleProtocolICMP": { "description": "A rule for ICMP traffic.", "properties": { "code": { "description": "The ICMP traffic code to match.\n\nIf absent, all codes are matched.", "example": 0, "maximum": 255, "minimum": 0, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "icmp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The ICMP traffic type to match.\n\nIf absent, all types are matched.", "example": 8, "maximum": 254, "minimum": 0, "type": "integer" } }, "required": [ "protocol" ], "type": "object", "title": "NetworkACLRuleProtocolICMP" }, "NetworkACLRuleProtocolICMPPrototype": { "description": "A rule for ICMP traffic.", "properties": { "code": { "description": "The ICMP traffic code to match.\n\nIf specified, `type` must also be specified. If unspecified, all codes are matched.", "example": 0, "maximum": 255, "minimum": 0, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "icmp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The ICMP traffic type to match.\n\nIf unspecified, all types are matched.", "example": 8, "maximum": 254, "minimum": 0, "type": "integer" } }, "required": [ "protocol" ], "type": "object", "title": "NetworkACLRuleProtocolICMPPrototype" }, "NetworkACLRuleProtocolTCPUDP": { "description": "A rule for TCP or UDP traffic.", "properties": { "destination_port_max": { "description": "The inclusive upper bound of the TCP or UDP destination port range.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "destination_port_min": { "description": "The inclusive lower bound of the TCP or UDP destination port range.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source_port_max": { "description": "The inclusive upper bound of the TCP or UDP source port range.", "example": 65535, "maximum": 65535, "minimum": 1, "type": "integer" }, "source_port_min": { "description": "The inclusive lower bound of the TCP or UDP source port range.", "example": 49152, "maximum": 65535, "minimum": 1, "type": "integer" } }, "required": [ "destination_port_max", "destination_port_min", "protocol", "source_port_max", "source_port_min" ], "type": "object", "title": "NetworkACLRuleProtocolTCPUDP" }, "NetworkACLRuleProtocolTCPUDPPrototype": { "description": "A rule for TCP or UDP traffic.", "properties": { "destination_port_max": { "default": 65535, "description": "The inclusive upper bound of the TCP or UDP destination port range.\n\nIf specified, `destination_port_min` must also be specified, and must not be larger.\nIf unspecified, `destination_port_min` must also be unspecified, allowing traffic for\nall destination ports.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "destination_port_min": { "default": 1, "description": "The inclusive lower bound of the TCP or UDP destination port range.\n\nIf specified, `destination_port_max` must also be specified, and must not be smaller.\nIf unspecified, `destination_port_max` must also be unspecified, allowing traffic for\nall destination ports.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source_port_max": { "default": 65335, "description": "The inclusive upper bound of the TCP or UDP source port range.\n\nIf specified, `source_port_min` must also be specified, and must not be larger.\nIf unspecified, `source_port_min` must also be unspecified, allowing traffic for\nall source ports.", "example": 65535, "maximum": 65535, "minimum": 1, "type": "integer" }, "source_port_min": { "default": 1, "description": "The inclusive lower bound of the TCP or UDP source port range.\n\nIf specified, `source_port_max` must also be specified, and must not be smaller.\nIf unspecified, `source_port_max` must also be unspecified, allowing traffic for\nall source ports.", "example": 49152, "maximum": 65535, "minimum": 1, "type": "integer" } }, "required": [ "protocol" ], "type": "object", "title": "NetworkACLRuleProtocolTCPUDPPrototype" }, "NetworkACLRulePrototype": { "example": { "action": "allow", "before": { "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9" }, "destination": "192.168.0.0/24", "destination_port_max": 81, "destination_port_min": 80, "direction": "outbound", "name": "my-network-acl-rule-2", "protocol": "tcp", "source": "10.0.0.5" }, "oneOf": [ { "$ref": "#/components/schemas/NetworkACLRuleProtocolAllPrototype" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPPrototype" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDPPrototype" } ], "properties": { "action": { "description": "The action to perform for a packet matching the rule.", "enum": [ "allow", "deny" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "before": { "$ref": "#/components/schemas/NetworkACLRuleBeforePrototype" }, "destination": { "description": "The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches\nall destination addresses.", "example": "192.168.3.2/32", "maxLength": 18, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))?$", "type": "string" }, "direction": { "description": "The direction of traffic to match.", "enum": [ "inbound", "outbound" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ip_version": { "default": "ipv4", "description": "The IP version for this rule.", "enum": [ "ipv4" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this network ACL rule. The name must not be used by another rule for the\nnetwork ACL. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-network-acl-rule", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The network protocol", "enum": [ "all", "icmp", "tcp", "udp" ], "example": "tcp", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source": { "description": "The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all\nsource addresses.", "example": "192.168.3.2/32", "maxLength": 18, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))?$", "type": "string" } }, "required": [ "action", "destination", "direction", "protocol", "source" ], "type": "object", "title": "NetworkACLRulePrototype" }, "NetworkACLRulePrototypeNetworkACLContext": { "oneOf": [ { "$ref": "#/components/schemas/NetworkACLRuleProtocolAllPrototype" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPPrototype" }, { "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDPPrototype" } ], "properties": { "action": { "description": "The action to perform for a packet matching the rule.", "enum": [ "allow", "deny" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "destination": { "description": "The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches\nall destination addresses.", "example": "192.168.3.2/32", "maxLength": 18, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))?$", "type": "string" }, "direction": { "description": "The direction of traffic to match.", "enum": [ "inbound", "outbound" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ip_version": { "default": "ipv4", "description": "The IP version for this rule.", "enum": [ "ipv4" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this network ACL rule. The name must not be used by another rule for the\nnetwork ACL. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-network-acl-rule", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "protocol": { "description": "The network protocol", "enum": [ "all", "icmp", "tcp", "udp" ], "example": "tcp", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source": { "description": "The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all\nsource addresses.", "example": "192.168.3.2/32", "maxLength": 18, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))?$", "type": "string" } }, "required": [ "action", "destination", "direction", "protocol", "source" ], "type": "object", "title": "NetworkACLRulePrototypeNetworkACLContext" }, "NetworkACLRuleReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "name": "my-allow-inbound-rule" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this network ACL rule", "example": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules/r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this network ACL rule", "example": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this network ACL rule. The name is unique across all rules for the\nnetwork ACL.", "example": "my-network-acl-rule", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "id", "name" ], "type": "object", "title": "NetworkACLRuleReference" }, "NetworkACLRuleTypePatch": { "description": "The ICMP traffic type to match.\n\nSpecify `null` to remove an existing ICMP traffic type value.", "example": 8, "maximum": 254, "minimum": 0, "nullable": true, "type": "integer", "title": "NetworkACLRuleTypePatch" }, "NetworkInterface": { "example": { "allow_ip_spoofing": false, "created_at": "2024-10-15T03:24:32.993Z", "floating_ips": [ { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" } ], "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "port_speed": 1000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "status": "available", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary" }, "properties": { "allow_ip_spoofing": { "description": "Indicates whether source IP spoofing is allowed on this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand source IP spoofing is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "created_at": { "description": "The date and time that the instance network interface was created.\n\nIf this instance has network attachments, this network interface was created\nas a [read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nwhen its corresponding network attachment was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "floating_ips": { "description": "The floating IPs associated with this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the floating IPs are associated with the attached virtual network interface.", "items": { "$ref": "#/components/schemas/FloatingIPReference" }, "type": "array" }, "href": { "description": "The URL for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the name matches its corresponding network attachment.", "example": "my-instance-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "port_speed": { "description": "The instance network interface port speed in Mbps.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the port speed is that of its corresponding network attachment.", "example": 1000, "type": "integer" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of this instance network interface." } ] }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "security_groups": { "description": "The security groups targeting this instance network interface.\n\nIf this instance has network attachments, this network interface is a [read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the security groups are associated with the attached virtual network interface.", "items": { "$ref": "#/components/schemas/SecurityGroupReference" }, "minItems": 1, "type": "array", "uniqueItems": true }, "status": { "description": "The status of the instance network interface.\n\nIf this instance has network attachments, this network interface is a\nread-only representation of its corresponding network attachment and its attached\nvirtual network interface, and the status is [computed from\nthem](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients).", "enum": [ "available", "deleting", "failed", "pending" ], "example": "available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The associated subnet" } ] }, "type": { "description": "The instance network interface type.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the type is that of its corresponding network attachment.", "enum": [ "primary", "secondary" ], "example": "primary", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "allow_ip_spoofing", "created_at", "floating_ips", "href", "id", "name", "port_speed", "primary_ip", "resource_type", "security_groups", "status", "subnet", "type" ], "type": "object", "title": "NetworkInterface" }, "NetworkInterfaceBareMetalServerContextReference": { "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/bare_metal_servers/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this bare metal server network interface.\n\nIf this bare metal server has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this bare metal server network interface.", "example": "my-bare-metal-server-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of this bare metal server network interface." } ] }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The associated subnet" } ] } }, "required": [ "href", "id", "name", "primary_ip", "resource_type", "subnet" ], "type": "object", "title": "NetworkInterfaceBareMetalServerContextReference" }, "NetworkInterfaceIPPrototype": { "oneOf": [ { "$ref": "#/components/schemas/ReservedIPIdentity" }, { "$ref": "#/components/schemas/ReservedIPPrototypeNetworkInterfaceContext" } ], "type": "object", "title": "NetworkInterfaceIPPrototype" }, "NetworkInterfaceIdentity": { "description": "Identifies an instance network interface by a unique property.", "example": { "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7" }, "oneOf": [ { "$ref": "#/components/schemas/NetworkInterfaceIdentityById" }, { "$ref": "#/components/schemas/NetworkInterfaceIdentityByHref" } ], "type": "object", "title": "NetworkInterfaceIdentity" }, "NetworkInterfaceIdentityByHref": { "properties": { "href": { "description": "The URL for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "NetworkInterfaceIdentityByHref" }, "NetworkInterfaceIdentityById": { "properties": { "id": { "description": "The unique identifier for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "NetworkInterfaceIdentityById" }, "NetworkInterfaceInstanceContextReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance network interface.", "example": "my-instance-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of this instance network interface." } ] }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The associated subnet" } ] } }, "required": [ "href", "id", "name", "primary_ip", "resource_type", "subnet" ], "type": "object", "title": "NetworkInterfaceInstanceContextReference" }, "NetworkInterfacePatch": { "properties": { "allow_ip_spoofing": { "description": "Indicates whether source IP spoofing is allowed on this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand source IP spoofing is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "name": { "description": "The name for the instance network interface. The name must not be used by another\nnetwork interface on the virtual server instance.", "example": "my-instance-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "NetworkInterfacePatch" }, "NetworkInterfacePrimaryIPv4AddressNot": { "properties": { "primary_ipv4_address": { "$ref": "#/components/schemas/IPv4" } }, "required": [ "primary_ipv4_address" ], "type": "object", "title": "NetworkInterfacePrimaryIPv4AddressNot" }, "NetworkInterfacePrototype": { "not": { "$ref": "#/components/schemas/NetworkInterfacePrimaryIPv4AddressNot" }, "properties": { "allow_ip_spoofing": { "default": false, "description": "Indicates whether source IP spoofing is allowed on this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand source IP spoofing is managed on the attached virtual network interface.", "example": true, "type": "boolean" }, "name": { "description": "The name for the instance network interface. The name must not be used by another\nnetwork interface on the virtual server instance. If unspecified, the name will be a\nhyphenated list of randomly-selected words.", "example": "my-instance-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/NetworkInterfaceIPPrototype" } ], "description": "The primary IP address to bind to the instance network interface. This can be\nspecified using an existing reserved IP, or a prototype object for a new reserved IP.\n\nIf an existing reserved IP or a prototype object with an address is specified, it must\nbe available on the instance network interface's subnet. Otherwise, an\navailable address on the subnet will be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "security_groups": { "description": "The security groups to use for this instance network interface. If unspecified,\nthe VPC's default security group is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "type": "array", "uniqueItems": true }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The associated subnet" } ] } }, "required": [ "subnet" ], "type": "object", "title": "NetworkInterfacePrototype" }, "NetworkInterfaceReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance network interface.", "example": "my-instance-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of this instance network interface." } ] }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "primary_ip", "resource_type" ], "type": "object", "title": "NetworkInterfaceReference" }, "NetworkInterfaceReferenceTargetContext": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "resource_type": "network_interface" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment.", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/instances/[-0-9a-z_]+/network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this instance network interface.\n\nIf this instance has network attachments, this network interface is a\n[read-only\nrepresentation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients)\nof its corresponding network attachment and its attached virtual network interface,\nand the identifier is that of the corresponding network attachment.", "example": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this instance network interface.", "example": "my-instance-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "NetworkInterfaceReferenceTargetContext" }, "NetworkInterfaceUnpaginatedCollection": { "example": { "network_interfaces": [ { "allow_ip_spoofing": false, "created_at": "2024-10-15T03:24:32.993Z", "floating_ips": [ { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" } ], "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "port_speed": 1000, "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "status": "available", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "type": "primary" } ] }, "properties": { "network_interfaces": { "description": "The network interfaces for the instance", "items": { "$ref": "#/components/schemas/NetworkInterface" }, "type": "array" } }, "required": [ "network_interfaces" ], "type": "object", "title": "NetworkInterfaceUnpaginatedCollection" }, "OperatingSystem": { "example": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "properties": { "allow_user_image_creation": { "description": "Indicates that users may create new images with this operating system", "example": true, "type": "boolean" }, "architecture": { "description": "The operating system architecture", "example": "amd64", "maxLength": 32, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string" }, "dedicated_host_only": { "description": "Indicates that images with this operating system can only be used on dedicated hosts\nand dedicated host groups.", "example": false, "type": "boolean" }, "display_name": { "description": "A unique, display-friendly name for the operating system", "example": "Ubuntu Server 16.04 LTS amd64", "maxLength": 120, "minLength": 1, "pattern": "^[-A-Za-z0-9 !$@#%&*'=_+:;,?\\./\\(\\)\\[\\]]+$", "type": "string" }, "family": { "$ref": "#/components/schemas/OperatingSystemFamily" }, "href": { "description": "The URL for this operating system", "example": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this operating system", "example": "ubuntu-24-04-amd64", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "user_data_format": { "allOf": [ { "$ref": "#/components/schemas/OperatingSystemUserDataFormat" } ], "description": "The user data format for this operating system:\n- `cloud_init`: `user_data` will be interpreted according to the cloud-init standard\n- `esxi_kickstart`: `user_data` will be interpreted as a VMware ESXi installation script\n- `ipxe`: `user_data` will be interpreted as a single URL to an iPXE script or as the\n text of an iPXE script" }, "vendor": { "description": "The vendor of the operating system", "example": "Canonical", "maxLength": 120, "minLength": 1, "pattern": "^[-A-Za-z0-9 !$@#%&*'=_+:;,?\\./\\(\\)\\[\\]]+$", "type": "string" }, "version": { "description": "The major release version of this operating system", "example": "16.04 LTS", "maxLength": 120, "minLength": 1, "pattern": "^[-A-Za-z0-9 !$@#%&*'=_+:;,?\\./\\(\\)\\[\\]]+$", "type": "string" } }, "required": [ "allow_user_image_creation", "architecture", "dedicated_host_only", "display_name", "family", "href", "name", "user_data_format", "vendor", "version" ], "type": "object", "title": "OperatingSystem" }, "OperatingSystemArchitecture": { "description": "The operating system architecture", "example": "amd64", "maxLength": 32, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string", "title": "OperatingSystemArchitecture" }, "OperatingSystemArchitectureExtendedFilter": { "example": "amd64", "maxLength": 32, "minLength": 1, "pattern": "^(?:not:)?(?:null|^[a-zA-Z0-9-_]{1,32})+$", "type": "string", "title": "OperatingSystemArchitectureExtendedFilter" }, "OperatingSystemCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems?limit=20" }, "limit": 20, "operating_systems": [ { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Debian GNU/Linux 8.x jessie/Stable - Minimal Install (amd64)", "family": "Debian GNU/Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/debian-8-amd64", "name": "debian-8-amd64", "user_data_format": "cloud_init", "vendor": "Debian", "version": "8.x jessie/Stable - Minimal Install" }, { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Debian GNU/Linux 9.x Stretch/Stable - Minimal Install (amd64)", "family": "Debian GNU/Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/debian-9-amd64", "name": "debian-9-amd64", "user_data_format": "cloud_init", "vendor": "Debian", "version": "9.x Stretch/Stable - Minimal Install" }, { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Red Hat Enterprise Linux 7.x - Minimal Install (amd64)", "family": "Red Hat Enterprise Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/red-7-amd64", "name": "red-7-amd64", "user_data_format": "cloud_init", "vendor": "Red Hat", "version": "7.x - Minimal Install" } ], "total_count": 4 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "operating_systems": { "description": "A page of operating systems", "items": { "$ref": "#/components/schemas/OperatingSystem" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "operating_systems", "total_count" ], "type": "object", "title": "OperatingSystemCollection" }, "OperatingSystemFamily": { "description": "The software family for this operating system", "example": "Ubuntu Server", "maxLength": 120, "minLength": 1, "pattern": "^[-A-Za-z0-9 !$@#%&*'=_+:;,?\\./\\(\\)\\[\\]]+$", "type": "string", "title": "OperatingSystemFamily" }, "OperatingSystemIdentity": { "description": "Identifies an operating system by a unique property.", "example": { "name": "ubuntu-24-04-amd64" }, "oneOf": [ { "$ref": "#/components/schemas/OperatingSystemIdentityByName" }, { "$ref": "#/components/schemas/OperatingSystemIdentityByHref" } ], "type": "object", "title": "OperatingSystemIdentity" }, "OperatingSystemIdentityByHref": { "properties": { "href": { "description": "The URL for this operating system", "example": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "OperatingSystemIdentityByHref" }, "OperatingSystemIdentityByName": { "properties": { "name": { "description": "The globally unique name for this operating system", "example": "ubuntu-24-04-amd64", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "OperatingSystemIdentityByName" }, "OperatingSystemUserDataFormat": { "enum": [ "cloud_init", "esxi_kickstart", "ipxe" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "OperatingSystemUserDataFormat" }, "PageLink": { "properties": { "href": { "description": "The URL for a page of resources", "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "PageLink" }, "PlacementGroup": { "example": { "created_at": "2020-12-29T19:55:00.000Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::placement-group:r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "href": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups/r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "id": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "lifecycle_state": "stable", "name": "my-placement-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "placement_group", "strategy": "host_spread" }, "properties": { "created_at": { "description": "The date and time that the placement group was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this placement group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::placement-group:r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this placement group", "example": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups/r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this placement group", "example": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the placement group" } ] }, "name": { "description": "The name for this placement group. The name is unique across all placement groups in\nthe region.", "example": "my-placement-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this placement group" } ] }, "resource_type": { "description": "The resource type", "enum": [ "placement_group" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "strategy": { "description": "The strategy for this placement group:\n- `host_spread`: place on different compute hosts\n- `power_spread`: place on compute hosts that use different power sources\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "host_spread", "power_spread" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "created_at", "crn", "href", "id", "lifecycle_state", "name", "resource_group", "resource_type", "strategy" ], "type": "object", "title": "PlacementGroup" }, "PlacementGroupCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups?limit=50" }, "limit": 50, "placement_groups": [ { "created_at": "2020-12-29T19:55:00.000Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::placement-group:r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "href": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups/r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "id": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "lifecycle_state": "stable", "name": "my-placement-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "placement_group", "strategy": "host_spread" } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "placement_groups": { "description": "A page of placement groups", "items": { "$ref": "#/components/schemas/PlacementGroup" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "placement_groups", "total_count" ], "type": "object", "title": "PlacementGroupCollection" }, "PlacementGroupIdentity": { "description": "Identifies a placement group by a unique property.", "example": { "id": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871" }, "oneOf": [ { "$ref": "#/components/schemas/PlacementGroupIdentityById" }, { "$ref": "#/components/schemas/PlacementGroupIdentityByCRN" }, { "$ref": "#/components/schemas/PlacementGroupIdentityByHref" } ], "type": "object", "title": "PlacementGroupIdentity" }, "PlacementGroupIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this placement group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::placement-group:r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "PlacementGroupIdentityByCRN" }, "PlacementGroupIdentityByHref": { "properties": { "href": { "description": "The URL for this placement group", "example": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups/r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "PlacementGroupIdentityByHref" }, "PlacementGroupIdentityById": { "properties": { "id": { "description": "The unique identifier for this placement group", "example": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "PlacementGroupIdentityById" }, "PlacementGroupPatch": { "properties": { "name": { "description": "The name for this placement group. The name must not be used by another placement\ngroup in the region.", "example": "my-placement-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "PlacementGroupPatch" }, "PlacementGroupPrototype": { "properties": { "name": { "description": "The name for this placement group. The name must not be used by another placement group\nin the region. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-placement-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "strategy": { "description": "The strategy for this placement group:\n- `host_spread`: place on different compute hosts\n- `power_spread`: place on compute hosts that use different power sources", "enum": [ "host_spread", "power_spread" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "strategy" ], "type": "object", "title": "PlacementGroupPrototype" }, "PlacementGroupReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::placement-group:r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "href": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups/r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "id": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "name": "my-placement-group", "resource_type": "placement_group" }, "properties": { "crn": { "description": "The CRN for this placement group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::placement-group:r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this placement group", "example": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups/r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this placement group", "example": "r006-418fe842-a3e9-47b9-a938-1aa5bd632871", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this placement group. The name is unique across all placement groups in\nthe region.", "example": "my-placement-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "placement_group" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "PlacementGroupReference" }, "PrivatePathServiceGateway": { "example": { "created_at": "2024-11-21T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5", "default_access_policy": "permit", "endpoint_gateway_binding_auto_delete": true, "endpoint_gateway_binding_auto_delete_timeout": 0, "endpoint_gateway_count": 2, "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5", "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5", "lifecycle_state": "stable", "load_balancer": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "name": "my-load-balancer", "resource_type": "load_balancer" }, "name": "my-private-path-service-gateway", "published": true, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "private_path_service_gateway", "service_endpoints": [ "my-service.example.com" ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zonal_affinity": false }, "properties": { "created_at": { "description": "The date and time that the private path service gateway was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this private path service gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "default_access_policy": { "allOf": [ { "$ref": "#/components/schemas/PrivatePathServiceGatewayAccessPolicy" }, { "description": "The policy to use for bindings from accounts without an explicit account policy." } ], "description": "The policy to use for new bindings from accounts without an explicit account policy:\n- `permit`: access will be permitted\n- `deny`: access will be denied\n- `review`: access will be manually reviewed" }, "endpoint_gateway_binding_auto_delete": { "description": "Indicates whether endpoint gateway bindings will be automatically deleted after\n`endpoint_gateway_binding_auto_delete_timeout` hours have passed. At present, this is\nalways `true`, but may be modifiable in the future.", "example": true, "type": "boolean" }, "endpoint_gateway_binding_auto_delete_timeout": { "description": "If `endpoint_gateway_binding_auto_delete` is `true`, the hours after which endpoint\ngateway bindings will be automatically deleted. If the value is `0`, `abandoned`\nendpoint gateway bindings will be deleted immediately. At present, this is always set\nto `0`. This value may be modifiable in the future.", "example": 1, "maximum": 24, "minimum": 0, "type": "integer" }, "endpoint_gateway_count": { "description": "The number of active endpoint gateways using this private path service gateway.", "minimum": 0, "type": "integer" }, "href": { "description": "The URL for this private path service gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this private path service gateway", "example": "r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the private path service gateway" } ] }, "load_balancer": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerReference" }, { "description": "The load balancer for this private path service gateway." } ] }, "name": { "description": "The name for this private path service gateway. The name is unique across all private\npath service gateways in the VPC.", "example": "my-private-path-service-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "published": { "description": "Indicates the availability of this private path service gateway\n- `true`: Any account can request access to this private path service gateway.\n- `false`: Access is restricted to the account that created this private path service\ngateway.", "type": "boolean" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this private path service gateway" } ] }, "resource_type": { "description": "The resource type", "enum": [ "private_path_service_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "service_endpoints": { "description": "The fully qualified domain names for this private path service gateway. The domains\nare used for endpoint gateways to connect to the service and are configured in the\nVPC for each endpoint gateway.", "items": { "description": "A fully qualified domain name for this resource that permits an optional wildcard prefix", "example": "*.example.com", "maxLength": 255, "minLength": 4, "pattern": "^(\\*\\.)?((?=[a-z0-9-]{1,63}\\.)[a-z0-9-]*\\.)+[a-z]{2,63}\\.?$", "type": "string" }, "maxItems": 10, "minItems": 1, "type": "array", "uniqueItems": true }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this private path service gateway resides in" } ] }, "zonal_affinity": { "description": "Indicates whether this private path service gateway has zonal affinity.\n- `true`: Traffic to the service from a zone the service resides in will remain in\n that zone.\n- `false`: Traffic to the service from a zone will be load balanced across all zones\n in the region the service resides in.", "type": "boolean" } }, "required": [ "created_at", "crn", "default_access_policy", "endpoint_gateway_binding_auto_delete", "endpoint_gateway_binding_auto_delete_timeout", "endpoint_gateway_count", "href", "id", "lifecycle_state", "load_balancer", "name", "published", "resource_group", "resource_type", "service_endpoints", "vpc", "zonal_affinity" ], "type": "object", "title": "PrivatePathServiceGateway" }, "PrivatePathServiceGatewayAccessPolicy": { "description": "The access policy for the account:\n- permit: access will be permitted\n- deny: access will be denied\n- review: access will be manually reviewed\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "deny", "permit", "review" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "PrivatePathServiceGatewayAccessPolicy" }, "PrivatePathServiceGatewayAccountPolicy": { "example": { "access_policy": "permit", "account": { "id": "aa2432b1fa4d4ace891e9b80fc104e34", "resource_type": "account" }, "created_at": "2024-11-21T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/account_policies/r006-3e2d419a-8ab0-42dd-b616-c5cc598669aa", "id": "r006-3e2d419a-8ab0-42dd-b616-c5cc598669aa", "resource_type": "private_path_service_gateway_account_policy" }, "properties": { "access_policy": { "$ref": "#/components/schemas/PrivatePathServiceGatewayAccessPolicy" }, "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" }, { "description": "The account for this access policy." } ] }, "created_at": { "description": "The date and time that the account policy was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this account policy", "example": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/account_policies/dd455384-b019-4242-9453-45fe68b18e4c", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this account policy", "example": "r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "private_path_service_gateway_account_policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "access_policy", "account", "created_at", "href", "id", "resource_type" ], "type": "object", "title": "PrivatePathServiceGatewayAccountPolicy" }, "PrivatePathServiceGatewayAccountPolicyCollection": { "example": { "account_policies": [ { "access_policy": "permit", "account": { "id": "aa2432b1fa4d4ace891e9b80fc104e34", "resource_type": "account" }, "created_at": "2024-11-21T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/account_policies/r006-3e2d419a-8ab0-42dd-b616-c5cc598669aa", "id": "r006-3e2d419a-8ab0-42dd-b616-c5cc598669aa", "resource_type": "private_path_service_gateway_account_policy" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/account_policies?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "account_policies": { "description": "A page of account policies for the private path service gateway", "items": { "$ref": "#/components/schemas/PrivatePathServiceGatewayAccountPolicy" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/account_policies?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/account_policies?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "account_policies", "first", "limit", "total_count" ], "type": "object", "title": "PrivatePathServiceGatewayAccountPolicyCollection" }, "PrivatePathServiceGatewayAccountPolicyPatch": { "properties": { "access_policy": { "allOf": [ { "$ref": "#/components/schemas/PrivatePathServiceGatewayAccessPolicy" }, { "description": "The access policy for the account. Updating the access policy only affects pending\nand future endpoint gateway bindings.\n- permit: access will be permitted\n- deny: access will be denied\n- review: access will be manually reviewed\n\n- Updating to `review` sets the status of future endpoint gateway bindings from\n this account to `pending`.\n- Updating to `permit` updates both the status of any `pending` and future endpoint\n gateway bindings from this account to `permitted`.\n- Updating to `deny` updates both the status of any `pending` and future endpoint\n gateway bindings from this account to `denied`." } ] } }, "type": "object", "title": "PrivatePathServiceGatewayAccountPolicyPatch" }, "PrivatePathServiceGatewayAccountPolicyPrototype": { "properties": { "access_policy": { "allOf": [ { "$ref": "#/components/schemas/PrivatePathServiceGatewayAccessPolicy" }, { "description": "The access policy for the account. Updating the access policy only affects pending\nand future endpoint gateway bindings.\n- permit: access will be permitted\n- deny: access will be denied\n- review: access will be manually reviewed\n\n- Updating to `review` sets the status of future endpoint gateway bindings from\n this account to `pending`.\n- Updating to `permit` updates both the status of any `pending` and future endpoint\n gateway bindings from this account to `permitted`.\n- Updating to `deny` updates both the status of any `pending` and future endpoint\n gateway bindings from this account to `denied`." } ], "description": "The access policy for the account:\n- `permit`: access will be permitted\n- `deny`: access will be denied\n- `review`: access will be manually reviewed\n\n- Specifying `review` sets the status of future endpoint gateway bindings from this\n account to `pending`.\n- Specifying `permit` updates both the status of `pending` and future endpoint gateway\n bindings from this account to `permitted`.\n- Specifying `deny` updates both the status of `pending` and future endpoint gateway\n bindings from this account to `denied`." }, "account": { "allOf": [ { "$ref": "#/components/schemas/AccountIdentity" }, { "description": "The account for this access policy. The account must be unique across all account\npolicies for this private path service gateway." } ] } }, "required": [ "access_policy", "account" ], "type": "object", "title": "PrivatePathServiceGatewayAccountPolicyPrototype" }, "PrivatePathServiceGatewayCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways?limit=50" }, "limit": 50, "private_path_service_gateways": [ { "created_at": "2024-11-21T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5", "default_access_policy": "permit", "endpoint_gateway_binding_auto_delete": true, "endpoint_gateway_binding_auto_delete_timeout": 0, "endpoint_gateway_count": 2, "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5", "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5", "lifecycle_state": "stable", "load_balancer": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "name": "my-load-balancer", "resource_type": "load_balancer" }, "name": "my-private-path-service-gateway", "published": true, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "private_path_service_gateway", "service_endpoints": [ "my-service.example.com" ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zonal_affinity": false } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "private_path_service_gateways": { "description": "A page of private path service gateways", "items": { "$ref": "#/components/schemas/PrivatePathServiceGateway" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "private_path_service_gateways", "total_count" ], "type": "object", "title": "PrivatePathServiceGatewayCollection" }, "PrivatePathServiceGatewayEndpointGatewayBinding": { "example": { "account": { "id": "aa2432b1fa4d4ace891e9b80fc104e34", "resource_type": "account" }, "created_at": "2024-11-21T16:56:54Z", "expiration_at": "2024-11-24T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/endpoint_gateway_bindings/r006-7c30adc3-083d-46a1-a72c-d0ca8654a1d0", "id": "r006-7c30adc3-083d-46a1-a72c-d0ca8654a1d0", "lifecycle_state": "stable", "resource_type": "private_path_service_gateway_endpoint_gateway_binding", "status": "permitted" }, "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" }, { "description": "The account that created the endpoint gateway." } ] }, "created_at": { "description": "The date and time that the endpoint gateway binding was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "expiration_at": { "description": "The expiration date and time for the endpoint gateway binding. At binding creation,\nthis property will be set to 14 days after the creation time, and will remain while\nthe `status` of the binding is `pending`. If the date and time are reached while the\nbinding is still `pending`, the binding will transition to `expired`.\n\nThis property will be present if the `status` is `pending` or `expired`.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this endpoint gateway binding", "example": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/endpoint_gateway_bindings/r006-7c30adc3-083d-46a1-a72c-d0ca8654a1d0", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this endpoint gateway binding", "example": "r006-7c30adc3-083d-46a1-a72c-d0ca8654a1d0", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the endpoint gateway binding" } ] }, "resource_type": { "description": "The resource type", "enum": [ "private_path_service_gateway_endpoint_gateway_binding" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "$ref": "#/components/schemas/PrivatePathServiceGatewayEndpointGatewayBindingStatus" } }, "required": [ "account", "created_at", "href", "id", "lifecycle_state", "resource_type", "status" ], "type": "object", "title": "PrivatePathServiceGatewayEndpointGatewayBinding" }, "PrivatePathServiceGatewayEndpointGatewayBindingCollection": { "example": { "endpoint_gateway_bindings": [ { "account": { "id": "aa2432b1fa4d4ace891e9b80fc104e34", "resource_type": "account" }, "created_at": "2024-11-21T16:56:54Z", "expiration_at": "2024-11-24T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/endpoint_gateway_bindings/r006-7c30adc3-083d-46a1-a72c-d0ca8654a1d0", "id": "r006-7c30adc3-083d-46a1-a72c-d0ca8654a1d0", "lifecycle_state": "stable", "resource_type": "private_path_service_gateway_endpoint_gateway_binding", "status": "permitted" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/endpoint_gateway_bindings?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "endpoint_gateway_bindings": { "description": "A page of endpoint gateway bindings for the private path service gateway", "items": { "$ref": "#/components/schemas/PrivatePathServiceGatewayEndpointGatewayBinding" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/endpoint_gateway_bindings?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5/endpoint_gateway_bindings?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "endpoint_gateway_bindings", "first", "limit", "total_count" ], "type": "object", "title": "PrivatePathServiceGatewayEndpointGatewayBindingCollection" }, "PrivatePathServiceGatewayEndpointGatewayBindingDenyOptions": { "properties": { "set_account_policy": { "default": false, "description": "Indicates whether this will become the access policy for any `pending` and future\nendpoint gateway bindings from the same account.\n\nIf set to `true`:\n- If the account has an existing access policy, that policy will be updated to `deny`.\n Otherwise, a new `deny` access policy will be created for the account.\n- All `pending` endpoint gateway bindings for the account will be denied.\n\nIf set to `false`:\n- No access policies will be created or updated\n- All `pending` endpoint gateway bindings for the account will remain `pending`", "example": true, "type": "boolean" } }, "type": "object", "title": "PrivatePathServiceGatewayEndpointGatewayBindingDenyOptions" }, "PrivatePathServiceGatewayEndpointGatewayBindingPermitOptions": { "properties": { "set_account_policy": { "default": false, "description": "Indicates whether this will become the access policy for any `pending` and future\nendpoint gateway bindings from the same account.\n\nIf set to `true`:\n\n- If the account has an existing access policy, that policy will be updated to\n `permit`. Otherwise, a new `permit` access policy will be created for the account.\n- All `pending` endpoint gateway bindings for the account will be permitted.\n\nIf set to `false`:\n\n- No access policies will be created or updated\n- All `pending` endpoint gateway bindings for the account will remain `pending`", "example": true, "type": "boolean" } }, "type": "object", "title": "PrivatePathServiceGatewayEndpointGatewayBindingPermitOptions" }, "PrivatePathServiceGatewayEndpointGatewayBindingStatus": { "description": "The status of the endpoint gateway binding:\n- `abandoned`: endpoint gateway binding is inactive, awaiting deletion.\n- `denied`: endpoint gateway binding was denied\n- `expired`: endpoint gateway binding has expired\n- `pending`: endpoint gateway binding is awaiting review\n- `permitted`: endpoint gateway binding was permitted\n\nAn endpoint gateway binding will be automatically deleted when its associated endpoint\ngateway is deleted.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "abandoned", "denied", "expired", "pending", "permitted" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "PrivatePathServiceGatewayEndpointGatewayBindingStatus" }, "PrivatePathServiceGatewayPatch": { "properties": { "default_access_policy": { "allOf": [ { "$ref": "#/components/schemas/PrivatePathServiceGatewayAccessPolicy" }, { "description": "The policy to use for bindings from accounts without an explicit account policy." } ], "description": "The policy to use for bindings from accounts without an explicit account policy.\nUpdating default access policy does not affect permitted or denied endpoint gateway\nbindings.\n\n- Updating to `review` sets the status of any future endpoint gateway bindings to\n`pending`.\n- Updating to `permit` updates both the status of any `pending` and future\nendpoint gateway bindings to `permitted`.\n- Updating to `deny` updates both the status of any `pending` and future\nendpoint gateway bindings to `denied`." }, "load_balancer": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerIdentity" }, { "description": "The load balancer for this private path service gateway. The load balancer must\nhave `is_private_path` set to `true`, and must be in the same VPC as the private\npath service gateway." } ] }, "name": { "description": "The name for this private path service gateway. The name must not be used by another\nprivate path service gateway in the VPC.", "example": "my-private-path-service-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "zonal_affinity": { "description": "Indicates whether this private path service gateway has zonal affinity.\n\nUpdating the value of `zonal_affinity` changes how traffic for existing and future\nendpoint gateway bindings will be routed:\n- `true`: Traffic to the service from a zone the service resides in will remain in\n that zone.\n- `false`: Traffic to the service from a zone will be load balanced across all zones\n in the region the service resides in.", "type": "boolean" } }, "type": "object", "title": "PrivatePathServiceGatewayPatch" }, "PrivatePathServiceGatewayPrototype": { "properties": { "default_access_policy": { "allOf": [ { "$ref": "#/components/schemas/PrivatePathServiceGatewayAccessPolicy" }, { "description": "The policy to use for bindings from accounts without an explicit account policy." } ], "default": "deny" }, "load_balancer": { "allOf": [ { "$ref": "#/components/schemas/LoadBalancerIdentity" }, { "description": "The load balancer for this private path service gateway. The load balancer must\nhave `is_private_path` set to `true`.\n\nThe private path service gateway will reside in the same VPC as the specified load\nbalancer." } ] }, "name": { "description": "The name for this private path service gateway. The name must not be used by another\nprivate path service gateway in the VPC. If unspecified, the name will be a hyphenated\nlist of randomly-selected words.", "example": "my-private-path-service-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "service_endpoints": { "description": "The fully qualified domain names for this private path service gateway. Any uppercase\nletters will be converted to lowercase.", "items": { "$ref": "#/components/schemas/FullyQualifiedDomainNameWithOptionalWildcardPrefix" }, "maxItems": 10, "minItems": 1, "type": "array", "uniqueItems": true }, "zonal_affinity": { "default": false, "description": "Indicates whether this private path service gateway has zonal affinity.\n- `true`: Traffic to the service from a zone the service resides in will remain in\n that zone.\n- `false`: Traffic to the service from a zone will be load balanced across all zones\n in the region the service resides in.", "type": "boolean" } }, "required": [ "load_balancer", "service_endpoints" ], "type": "object", "title": "PrivatePathServiceGatewayPrototype" }, "PrivatePathServiceGatewayReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5", "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5", "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5", "name": "my-private-path-service-gateway", "resource_type": "private_path_service_gateway" }, "properties": { "crn": { "description": "The CRN for this private path service gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this private path service gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways/r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this private path service gateway", "example": "r006-7268d425-59b7-48fd-9735-81a7271657d5", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this private path service gateway. The name is unique across all private\npath service gateways in the VPC.", "example": "my-private-path-service-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/PrivatePathServiceGatewayRemote" }, "resource_type": { "description": "The resource type", "enum": [ "private_path_service_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "PrivatePathServiceGatewayReference" }, "PrivatePathServiceGatewayRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\naccount, and identifies the owning account." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "PrivatePathServiceGatewayRemote" }, "PrivatePathServiceGatewayRevokeAccountOptions": { "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountIdentity" }, { "description": "The account that will be revoked access to the private path service gateway." } ] } }, "required": [ "account" ], "type": "object", "title": "PrivatePathServiceGatewayRevokeAccountOptions" }, "ProviderCloudServiceIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this provider cloud service, or the CRN for the user's instance of a\nprovider cloud service.", "example": "crn:v1:bluemix:public:cloudant:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:3527280b-9327-4411-8020-591092e60353::", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "ProviderCloudServiceIdentityByCRN" }, "ProviderCloudServiceReference": { "allOf": [ { "$ref": "#/components/schemas/ProviderCloudServiceIdentityByCRN" } ], "properties": { "resource_type": { "description": "The type of target.", "enum": [ "provider_cloud_service" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "resource_type" ], "title": "ProviderCloudServiceReference" }, "ProviderInfrastructureServiceIdentityByName": { "description": "The name of this provider infrastructure service.", "properties": { "name": { "description": "The name of a provider infrastructure service. Must be:\n- `ibm-ntp-server`: An NTP (Network Time Protocol) server provided by IBM", "example": "ibm-ntp-server", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "ProviderInfrastructureServiceIdentityByName" }, "ProviderInfrastructureServiceReference": { "allOf": [ { "$ref": "#/components/schemas/ProviderInfrastructureServiceIdentityByName" } ], "properties": { "resource_type": { "description": "The type of target.", "enum": [ "provider_infrastructure_service" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "resource_type" ], "title": "ProviderInfrastructureServiceReference" }, "PublicAddressRange": { "example": { "cidr": "75.126.84.0/29", "created_at": "2024-11-07T19:42:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "id": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "ipv4_address_count": 8, "lifecycle_state": "stable", "name": "my-public-address-range", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_address_range", "target": { "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } }, "properties": { "cidr": { "allOf": [ { "$ref": "#/components/schemas/CIDRv4" }, { "description": "The public IPv4 range, expressed in CIDR format." } ] }, "created_at": { "description": "The date and time that the public address range was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this public address range", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this public address range", "example": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this public address range", "example": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a" } ] }, "ipv4_address_count": { "description": "The number of IPv4 addresses in this public address range.", "example": 8, "minimum": 1, "type": "integer" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the public address range." } ] }, "name": { "description": "The name for this public address range. The name is unique across all public address\nranges in the region.", "example": "my-public-address-range", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this public address range" } ] }, "resource_type": { "description": "The resource type", "enum": [ "public_address_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "target": { "$ref": "#/components/schemas/PublicAddressRangeTarget" } }, "required": [ "cidr", "created_at", "crn", "href", "id", "ipv4_address_count", "lifecycle_state", "name", "resource_group", "resource_type" ], "type": "object", "title": "PublicAddressRange" }, "PublicAddressRangeCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges?limit=50" }, "limit": 50, "public_address_ranges": [ { "cidr": "75.126.84.0/29", "created_at": "2024-11-07T19:42:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "id": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "ipv4_address_count": 8, "lifecycle_state": "stable", "name": "my-public-address-range", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_address_range", "target": { "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } }, { "cidr": "75.126.88.0/29", "created_at": "2024-11-07T19:42:46Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-52f32fde-2eb7-425e-afaa-db8e2c2afed5", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-52f32fde-2eb7-425e-afaa-db8e2c2afed5", "id": "r006-52f32fde-2eb7-425e-afaa-db8e2c2afed5", "ipv4_address_count": 8, "lifecycle_state": "stable", "name": "my-public-address-range-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_address_range", "target": { "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges?start=ffd653466e284937896724b2dd044c9c&limit=20" } }, "public_address_ranges": { "description": "A page of public address ranges", "items": { "$ref": "#/components/schemas/PublicAddressRange" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "public_address_ranges", "total_count" ], "type": "object", "title": "PublicAddressRangeCollection" }, "PublicAddressRangePatch": { "properties": { "name": { "description": "The name for this public address range. The name must not be used by another public\naddress range in the region.", "example": "my-public-address-range-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "target": { "$ref": "#/components/schemas/PublicAddressRangeTargetPatch" } }, "type": "object", "title": "PublicAddressRangePatch" }, "PublicAddressRangePrototype": { "properties": { "ipv4_address_count": { "description": "The total number of public IPv4 addresses required. Must be a power of 2.", "example": 8, "minimum": 1, "type": "integer" }, "name": { "description": "The name for this public address range. The name must not be used by another public\naddress range in the region. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-public-address-range", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "target": { "$ref": "#/components/schemas/PublicAddressRangeTargetPrototype" } }, "required": [ "ipv4_address_count" ], "type": "object", "title": "PublicAddressRangePrototype" }, "PublicAddressRangeReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "id": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "name": "my-public-address-range", "resource_type": "public_address_range" }, "properties": { "crn": { "description": "The CRN for this public address range", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this public address range", "example": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this public address range", "example": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a" } ] }, "name": { "description": "The name for this public address range. The name is unique across all public address\nranges in the region.", "example": "my-public-address-range", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "public_address_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "PublicAddressRangeReference" }, "PublicAddressRangeTarget": { "description": "The target this public address range is bound to.\n\nIf absent, this pubic address range is not bound to a target.\n\nThe target resources supported by this property is expected to\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. Future\ntargets may omit the `vpc` property.", "properties": { "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this public address range is bound to." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this public address range resides in." } ] } }, "required": [ "zone" ], "type": "object", "title": "PublicAddressRangeTarget" }, "PublicAddressRangeTargetPatch": { "description": "The target to bind this public address range to.\n\nIf the public address range is not currently bound to a target, both `target.vpc` and\n`target.zone` must be specified.\n\nSpecify `null` to unbind the public address range from any existing target.", "nullable": true, "properties": { "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC to bind this public address range to, replacing any existing VPC." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this public address range will reside in, replacing any existing zone." } ] } }, "type": "object", "title": "PublicAddressRangeTargetPatch" }, "PublicAddressRangeTargetPrototype": { "description": "The target to bind this public address range to. If unspecified, the public address\nrange will not be bound to a target at creation.", "properties": { "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC to bind this public address range to." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this public address range will reside in." } ] } }, "required": [ "vpc", "zone" ], "type": "object", "title": "PublicAddressRangeTargetPrototype" }, "PublicGateway": { "example": { "created_at": "2024-11-07T06:47:25Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "floating_ip": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "name": "my-public-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_gateway", "status": "available", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "created_at": { "description": "The date and time that the public gateway was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this public gateway", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "floating_ip": { "allOf": [ { "description": "The floating IP bound to this public gateway." }, { "$ref": "#/components/schemas/FloatingIPReference" } ] }, "href": { "description": "The URL for this public gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this public gateway", "example": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this public gateway. The name is unique across all public gateways in the\nVPC.", "example": "my-public-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this public gateway" } ] }, "resource_type": { "description": "The resource type", "enum": [ "public_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of this public gateway", "enum": [ "available", "deleting", "failed", "pending" ], "example": "available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this public gateway resides in" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this public gateway resides in" } ] } }, "required": [ "created_at", "crn", "floating_ip", "href", "id", "name", "resource_group", "resource_type", "status", "vpc", "zone" ], "type": "object", "title": "PublicGateway" }, "PublicGatewayCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways?limit=50" }, "limit": 50, "public_gateways": [ { "created_at": "2024-11-07T06:47:25Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "floating_ip": { "address": "203.0.113.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "name": "my-floating-ip" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "name": "my-public-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_gateway", "status": "available", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "created_at": "2024-11-05T03:47:23Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-f94a91c7-95db-42f2-9949-93a7e8fb63fb", "floating_ip": { "address": "198.51.100.1", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::floating-ip:r006-f45e0d90-12a8-4460-8210-290ff2ab75cd", "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips/r006-64580c28-713a-4cda-9993-53bc6a529bb4", "id": "r006-64580c28-713a-4cda-9993-53bc6a529bb4", "name": "my-floating-ip-2" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-f94a91c7-95db-42f2-9949-93a7e8fb63fb", "id": "r006-f94a91c7-95db-42f2-9949-93a7e8fb63fb", "name": "my-public-gateway-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "public_gateway", "status": "available", "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "public_gateways": { "description": "A page of public gateways", "items": { "$ref": "#/components/schemas/PublicGateway" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "public_gateways", "total_count" ], "type": "object", "title": "PublicGatewayCollection" }, "PublicGatewayFloatingIPPrototype": { "example": { "address": "203.0.113.1" }, "oneOf": [ { "$ref": "#/components/schemas/FloatingIPIdentity" }, { "$ref": "#/components/schemas/FloatingIPPrototypeTargetContext" } ], "type": "object", "title": "PublicGatewayFloatingIPPrototype" }, "PublicGatewayIdentity": { "description": "Identifies a public gateway by a unique property.", "example": { "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241" }, "oneOf": [ { "$ref": "#/components/schemas/PublicGatewayIdentityById" }, { "$ref": "#/components/schemas/PublicGatewayIdentityByCRN" }, { "$ref": "#/components/schemas/PublicGatewayIdentityByHref" } ], "type": "object", "title": "PublicGatewayIdentity" }, "PublicGatewayIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this public gateway", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "PublicGatewayIdentityByCRN" }, "PublicGatewayIdentityByHref": { "properties": { "href": { "description": "The URL for this public gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "PublicGatewayIdentityByHref" }, "PublicGatewayIdentityById": { "properties": { "id": { "description": "The unique identifier for this public gateway", "example": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "PublicGatewayIdentityById" }, "PublicGatewayPatch": { "properties": { "name": { "description": "The name for this public gateway. The name must not be used by another public gateway in\nthe VPC.", "example": "my-public-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "PublicGatewayPatch" }, "PublicGatewayPrototype": { "properties": { "floating_ip": { "$ref": "#/components/schemas/PublicGatewayFloatingIPPrototype" }, "name": { "description": "The name for this public gateway. The name must not be used by another public gateway\nin the VPC. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-public-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this public gateway will reside in" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this public gateway will reside in" } ] } }, "required": [ "vpc", "zone" ], "type": "object", "title": "PublicGatewayPrototype" }, "PublicGatewayReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "name": "my-public-gateway", "resource_type": "public_gateway" }, "properties": { "crn": { "description": "The CRN for this public gateway", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this public gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways/r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this public gateway", "example": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this public gateway. The name is unique across all public gateways in the\nVPC.", "example": "my-public-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "public_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "PublicGatewayReference" }, "Region": { "example": { "endpoint": "https://us-south.iaas.cloud.ibm.com", "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south", "status": "available" }, "properties": { "endpoint": { "description": "The API endpoint for this region.", "example": "https://us-south.iaas.cloud.ibm.com", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "href": { "description": "The URL for this region", "example": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this region", "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "status": { "description": "The availability status of this region.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "unavailable" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "endpoint", "href", "name", "status" ], "type": "object", "title": "Region" }, "RegionCollection": { "example": { "regions": [ { "endpoint": "https://us-south.iaas.cloud.ibm.com", "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south", "status": "available" }, { "endpoint": "https://us-east.cloud.ibm.com", "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-east", "name": "us-east", "status": "available" } ] }, "properties": { "regions": { "description": "The regions for the account", "items": { "$ref": "#/components/schemas/Region" }, "type": "array" } }, "required": [ "regions" ], "type": "object", "title": "RegionCollection" }, "RegionIdentity": { "description": "Identifies a region by a unique property.", "example": { "name": "us-south" }, "oneOf": [ { "$ref": "#/components/schemas/RegionIdentityByName" }, { "$ref": "#/components/schemas/RegionIdentityByHref" } ], "type": "object", "title": "RegionIdentity" }, "RegionIdentityByHref": { "properties": { "href": { "description": "The URL for this region", "example": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "RegionIdentityByHref" }, "RegionIdentityByName": { "properties": { "name": { "description": "The globally unique name for this region", "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "RegionIdentityByName" }, "RegionReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" }, "properties": { "href": { "description": "The URL for this region", "example": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this region", "example": "us-south", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "name" ], "type": "object", "title": "RegionReference" }, "Reservation": { "example": { "affinity_policy": "restricted", "capacity": { "allocated": 10, "available": 2, "status": "allocated", "total": 10, "used": 8 }, "committed_use": { "expiration_at": "2024-12-29T19:55:00.000Z", "expiration_policy": "renew", "term": "one_year" }, "created_at": "2020-12-29T19:55:00.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations/0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "lifecycle_state": "stable", "name": "my-reservation", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "reservation", "status": "active", "status_reasons": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "affinity_policy": { "$ref": "#/components/schemas/ReservationAffinityPolicy" }, "capacity": { "$ref": "#/components/schemas/ReservationCapacity" }, "committed_use": { "allOf": [ { "$ref": "#/components/schemas/ReservationCommittedUse" }, { "description": "The committed use configuration for this reservation.\n\nIf absent, this reservation has no commitment for use." } ] }, "created_at": { "description": "The date and time that the reservation was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this reservation", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this reservation", "example": "https://us-south.iaas.cloud.ibm.com/v1/reservations/0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this reservation", "example": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of this reservation" } ] }, "name": { "description": "The name for this reservation. The name is unique across all reservations in the\nregion.", "example": "my-reservation", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "$ref": "#/components/schemas/ReservationProfile" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this reservation" } ] }, "resource_type": { "description": "The resource type", "enum": [ "reservation" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of the reservation.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "activating", "active", "deactivating", "expired", "failed", "inactive" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/ReservationStatusReason" }, "minItems": 0, "type": "array" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone for this reservation." } ] } }, "required": [ "affinity_policy", "created_at", "crn", "href", "id", "lifecycle_state", "name", "profile", "resource_group", "resource_type", "status", "status_reasons", "zone" ], "type": "object", "title": "Reservation" }, "ReservationAffinityPolicy": { "description": "The affinity policy to use for this reservation:\n- `automatic`: The reservation will be automatically selected\n- `restricted`: The reservation must be manually requested\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "automatic", "restricted" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ReservationAffinityPolicy" }, "ReservationCapacity": { "description": "The capacity configuration for this reservation\n\nIf absent, this reservation has no assigned capacity.", "properties": { "allocated": { "description": "The amount allocated to this capacity reservation.", "example": 10, "minimum": 0, "type": "integer" }, "available": { "description": "The amount of this capacity reservation available for new attachments.", "example": 8, "minimum": 0, "type": "integer" }, "status": { "description": "The status of the capacity reservation:\n- `allocating`: The capacity reservation is being allocated for use\n- `allocated`: The total capacity of the reservation has been allocated for use\n- `degraded`: The capacity reservation has been allocated for use, but some of the\n capacity is not available. See [capacity status\n reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons)\n for more information.\n- `unallocated`: The capacity reservation is not allocated for use\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "allocated", "allocating", "degraded", "unallocated" ], "example": "allocated", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "total": { "$ref": "#/components/schemas/ReservationCapacityTotal" }, "used": { "description": "The amount of this capacity reservation used by existing attachments.", "example": 2, "minimum": 0, "type": "integer" } }, "required": [ "allocated", "available", "status", "total", "used" ], "type": "object", "title": "ReservationCapacity" }, "ReservationCapacityPatch": { "description": "The capacity reservation configuration to use.\n\nThe configuration can only be changed for reservations with a `status` of `inactive`.", "properties": { "total": { "description": "The total amount to use for this capacity reservation.", "example": 10, "minimum": 1, "type": "integer" } }, "type": "object", "title": "ReservationCapacityPatch" }, "ReservationCapacityPrototype": { "description": "The capacity reservation configuration to use.", "properties": { "total": { "description": "The total amount to use for this capacity reservation.", "example": 10, "minimum": 1, "type": "integer" } }, "required": [ "total" ], "type": "object", "title": "ReservationCapacityPrototype" }, "ReservationCapacityTotal": { "description": "The total amount of this capacity reservation.", "example": 10, "minimum": 1, "type": "integer", "title": "ReservationCapacityTotal" }, "ReservationCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations?limit=50" }, "limit": 50, "reservations": [ { "affinity_policy": "restricted", "capacity": { "allocated": 10, "available": 2, "status": "allocated", "total": 10, "used": 8 }, "committed_use": { "expiration_at": "2024-12-29T19:55:00.000Z", "expiration_policy": "renew", "term": "one_year" }, "created_at": "2020-12-29T19:55:00.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations/0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "lifecycle_state": "stable", "name": "my-reservation", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "reservation", "status": "active", "status_reasons": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "reservations": { "description": "A page of reservations", "items": { "$ref": "#/components/schemas/Reservation" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "reservations", "total_count" ], "type": "object", "title": "ReservationCollection" }, "ReservationCommittedUse": { "description": "The committed use reservation configuration.", "properties": { "expiration_at": { "description": "The expiration date and time for this committed use reservation.\n\nThis property will be absent if the reservation has a `status` of `inactive`.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "expiration_policy": { "$ref": "#/components/schemas/ReservationCommittedUseExpirationPolicy" }, "term": { "description": "The term for this committed use reservation:\n- `one_year`: 1 year\n- `three_year`: 3 years\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "expiration_policy", "term" ], "type": "object", "title": "ReservationCommittedUse" }, "ReservationCommittedUseExpirationPolicy": { "description": "The policy to apply when the committed use term expires:\n- `release`: Release any available capacity and let the reservation expire.\n- `renew`: Renew for another term, provided the term remains listed in the\n `reservation_terms` for the profile. Otherwise, let the reservation expire.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "release", "renew" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ReservationCommittedUseExpirationPolicy" }, "ReservationCommittedUsePatch": { "properties": { "expiration_policy": { "description": "The policy to apply when the committed use term expires:\n- `release`: Release any available capacity and let the reservation expire.\n- `renew`: Renew for another term, provided the term remains listed in the\n `reservation_terms` for the profile. Otherwise, let the reservation expire.", "enum": [ "release", "renew" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "term": { "description": "The term for this committed use reservation:\n- `one_year`: 1 year\n- `three_year`: 3 years\n\nThe specified value must be listed in the `reservation_terms` in the profile for this\nreservation. The term can only be changed for a reservation with a `status` of\n`inactive`.", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "ReservationCommittedUsePatch" }, "ReservationCommittedUsePrototype": { "properties": { "expiration_policy": { "default": "release", "description": "The policy to apply when the committed use term expires:\n- `release`: Release any available capacity and let the reservation expire.\n- `renew`: Renew for another term, provided the term remains listed in the\n `reservation_terms` for the profile. Otherwise, let the reservation expire.", "enum": [ "release", "renew" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "term": { "description": "The term for this committed use reservation:\n- `one_year`: 1 year\n- `three_year`: 3 years\n\nThe specified value must be listed in the `reservation_terms` in the profile for this\nreservation.", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "term" ], "type": "object", "title": "ReservationCommittedUsePrototype" }, "ReservationIdentity": { "description": "Identifies a reservation by a unique property.", "example": { "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63" }, "oneOf": [ { "$ref": "#/components/schemas/ReservationIdentityById" }, { "$ref": "#/components/schemas/ReservationIdentityByCRN" }, { "$ref": "#/components/schemas/ReservationIdentityByHref" } ], "type": "object", "title": "ReservationIdentity" }, "ReservationIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this reservation", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "ReservationIdentityByCRN" }, "ReservationIdentityByHref": { "properties": { "href": { "description": "The URL for this reservation", "example": "https://us-south.iaas.cloud.ibm.com/v1/reservations/0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ReservationIdentityByHref" }, "ReservationIdentityById": { "properties": { "id": { "description": "The unique identifier for this reservation", "example": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "ReservationIdentityById" }, "ReservationPatch": { "example": { "committed_use": { "expiration_policy": "renew" } }, "properties": { "affinity_policy": { "description": "The affinity policy to use for this reservation:\n- `automatic`: The reservation will be automatically selected\n- `restricted`: The reservation must be manually requested\n\nThe affinity policy can only be changed for a reservation with a `status` of `inactive`.", "enum": [ "automatic", "restricted" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "capacity": { "$ref": "#/components/schemas/ReservationCapacityPatch" }, "committed_use": { "allOf": [ { "$ref": "#/components/schemas/ReservationCommittedUsePatch" }, { "description": "The committed use configuration to use for this reservation." } ] }, "name": { "description": "The name for this reservation. The name must not be used by another reservation in the\nregion.", "example": "my-reservation", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "$ref": "#/components/schemas/ReservationProfilePatch" } }, "type": "object", "title": "ReservationPatch" }, "ReservationProfile": { "description": "The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or\n[bare metal server\nprofile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile)\nfor this reservation.", "oneOf": [ { "$ref": "#/components/schemas/InstanceProfileReference" }, { "$ref": "#/components/schemas/BareMetalServerProfileReference" } ], "type": "object", "title": "ReservationProfile" }, "ReservationProfilePatch": { "description": "The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or\n[bare metal server\nprofile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile)\nto use for this reservation.", "properties": { "name": { "description": "The globally unique name of the profile", "example": "bx2-4x16", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type of the profile.", "enum": [ "bare_metal_server_profile", "instance_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "ReservationProfilePatch" }, "ReservationProfilePrototype": { "description": "The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or\n[bare metal server\nprofile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile)\nto use for this reservation.", "properties": { "name": { "description": "The globally unique name of the profile", "example": "bx2-4x16", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type of the profile.", "enum": [ "bare_metal_server_profile", "instance_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "name", "resource_type" ], "type": "object", "title": "ReservationProfilePrototype" }, "ReservationPrototype": { "example": { "capacity": { "total": 10 }, "committed_use": { "expiration_policy": "renew", "term": "one_year" }, "name": "my-reservation", "profile": { "name": "bx2-4x16", "resource_type": "instance_profile" }, "zone": { "name": "us-south-1" } }, "properties": { "affinity_policy": { "default": "automatic", "description": "The affinity policy to use for this reservation:\n- `automatic`: The reservation will be automatically selected\n- `restricted`: The reservation must be manually requested", "enum": [ "automatic", "restricted" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "capacity": { "$ref": "#/components/schemas/ReservationCapacityPrototype" }, "committed_use": { "allOf": [ { "$ref": "#/components/schemas/ReservationCommittedUsePrototype" }, { "description": "The committed use configuration to use for this reservation." } ] }, "name": { "description": "The name for this reservation. The name must not be used by another reservation in the\nregion. If unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-reservation", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "$ref": "#/components/schemas/ReservationProfilePrototype" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone to use for this reservation." } ] } }, "required": [ "capacity", "committed_use", "profile", "zone" ], "type": "object", "title": "ReservationPrototype" }, "ReservationReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations/0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "name": "my-reservation", "resource_type": "reservation" }, "properties": { "crn": { "description": "The CRN for this reservation", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this reservation", "example": "https://us-south.iaas.cloud.ibm.com/v1/reservations/0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this reservation", "example": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this reservation. The name is unique across all reservations in the\nregion.", "example": "my-reservation", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "reservation" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "ReservationReference" }, "ReservationStatusReason": { "properties": { "code": { "description": "A snake case string succinctly identifying the status reason.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_activate_no_capacity_available", "cannot_renew_unsupported_profile_term" ], "example": "cannot_activate_no_capacity_available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "example": "The reservation cannot be activated because capacity is unavailable", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ReservationStatusReason" }, "ReservedIP": { "example": { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip" }, "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/IPv4" } ], "description": "The IP address.\n\nIf the address has not yet been selected, the value will be `0.0.0.0`.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future." }, "auto_delete": { "description": "Indicates whether this reserved IP member will be automatically deleted when either\n`target` is deleted, or the reserved IP is unbound.", "example": false, "type": "boolean" }, "created_at": { "description": "The date and time that the reserved IP was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this reserved IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this reserved IP", "example": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the reserved IP" } ] }, "name": { "description": "The name for this reserved IP. The name is unique across all reserved IPs in a subnet.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "owner": { "description": "The owner of the reserved IP.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "provider", "user" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "subnet_reserved_ip" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "target": { "$ref": "#/components/schemas/ReservedIPTarget" } }, "required": [ "address", "auto_delete", "created_at", "href", "id", "lifecycle_state", "name", "owner", "resource_type" ], "type": "object", "x-child-schema-suffix": "ByHref", "title": "ReservedIP" }, "ReservedIPCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips?limit=50" }, "limit": 50, "reserved_ips": [ { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.1.20", "auto_delete": false, "created_at": "2024-10-14T19:52:18Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips/0717-9faf2f32-8528-4180-a14d-c1f6c5c83292", "id": "0717-9faf2f32-8528-4180-a14d-c1f6c5c83292", "lifecycle_state": "stable", "name": "my-reserved-ip-z1-2", "owner": "user", "resource_type": "subnet_reserved_ip" } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "reserved_ips": { "description": "A page of reserved IPs in the subnet", "items": { "$ref": "#/components/schemas/ReservedIP" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "reserved_ips", "total_count" ], "type": "object", "title": "ReservedIPCollection" }, "ReservedIPCollectionBareMetalServerNetworkInterfaceContext": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6/ips?limit=20" }, "ips": [ { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip", "target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6", "name": "my-primary-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "primary_ipv4_address": "10.0.1.5", "resource_type": "network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } } } ], "limit": 50, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6/ips?limit=20" } }, "ips": { "description": "A page of reserved IPs bound to the bare metal server network interface", "items": { "$ref": "#/components/schemas/ReservedIP" }, "maxItems": 1, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces/0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6/ips?start=a404e343444b4e1095c9edba76672d67&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "ips", "limit", "total_count" ], "type": "object", "title": "ReservedIPCollectionBareMetalServerNetworkInterfaceContext" }, "ReservedIPCollectionEndpointGatewayContext": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/ips?limit=50" }, "ips": [ { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip", "target": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "id": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "name": "my-endpoint-gateway", "resource_type": "endpoint_gateway" } }, { "address": "10.0.1.20", "auto_delete": false, "created_at": "2024-10-14T19:52:18Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips/0717-9faf2f32-8528-4180-a14d-c1f6c5c83292", "id": "0717-9faf2f32-8528-4180-a14d-c1f6c5c83292", "lifecycle_state": "stable", "name": "my-reserved-ip-z1-2", "owner": "user", "resource_type": "subnet_reserved_ip", "target": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "id": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0", "name": "my-endpoint-gateway", "resource_type": "endpoint_gateway" } } ], "limit": 50, "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/ips?limit=20" } }, "ips": { "description": "A page of reserved IPs bound to the endpoint gateway", "items": { "$ref": "#/components/schemas/ReservedIP" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/ips?start=90ac13871b604023ab8b827178518328&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "ips", "limit", "total_count" ], "type": "object", "title": "ReservedIPCollectionEndpointGatewayContext" }, "ReservedIPCollectionInstanceNetworkInterfaceContext": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7/ips?limit=50" }, "ips": [ { "address": "10.0.1.5", "auto_delete": false, "created_at": "2024-10-15T19:52:13Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "lifecycle_state": "stable", "name": "my-reserved-ip-z1", "owner": "user", "resource_type": "subnet_reserved_ip", "target": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "network_interface" } } ], "limit": 50, "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7/ips?limit=20" } }, "ips": { "description": "A page of reserved IPs bound to the instance network interface", "items": { "$ref": "#/components/schemas/ReservedIP" }, "maxItems": 1, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7/ips?start=a404e343444b4e1095c9edba76672d67&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "ips", "limit", "total_count" ], "type": "object", "title": "ReservedIPCollectionInstanceNetworkInterfaceContext" }, "ReservedIPCollectionVirtualNetworkInterfaceContext": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9/ips?limit=50" }, "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" } ], "limit": 50, "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9/ips?limit=20" } }, "ips": { "description": "A page of reserved IPs bound to the virtual network interface specified by the\nidentifier in the URL", "items": { "$ref": "#/components/schemas/ReservedIPReference" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7/ips?start=a404e343444b4e1095c9edba76672d67&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "ips", "limit", "total_count" ], "type": "object", "title": "ReservedIPCollectionVirtualNetworkInterfaceContext" }, "ReservedIPIdentity": { "description": "Identifies a reserved IP by a unique property.", "example": { "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb" }, "oneOf": [ { "$ref": "#/components/schemas/ReservedIPIdentityById" }, { "$ref": "#/components/schemas/ReservedIPIdentityByHref" } ], "type": "object", "title": "ReservedIPIdentity" }, "ReservedIPIdentityByHref": { "properties": { "href": { "description": "The URL for this reserved IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "x-child-schema-suffix": "ByHref", "title": "ReservedIPIdentityByHref" }, "ReservedIPIdentityById": { "properties": { "id": { "description": "The unique identifier for this reserved IP", "example": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "x-child-schema-suffix": "ById", "title": "ReservedIPIdentityById" }, "ReservedIPIdentityVirtualNetworkInterfaceIPsContext": { "description": "Identifies a reserved IP by a unique property. The reserved IP must be currently unbound\nand in the primary IP's subnet.", "example": { "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb" }, "oneOf": [ { "$ref": "#/components/schemas/ReservedIPIdentityById" }, { "$ref": "#/components/schemas/ReservedIPIdentityByHref" } ], "type": "object", "title": "ReservedIPIdentityVirtualNetworkInterfaceIPsContext" }, "ReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext": { "description": "Identifies a reserved IP by a unique property. Required if `subnet` is not specified. The\nreserved IP must be currently unbound.", "example": { "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb" }, "oneOf": [ { "$ref": "#/components/schemas/ReservedIPIdentityById" }, { "$ref": "#/components/schemas/ReservedIPIdentityByHref" } ], "type": "object", "title": "ReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext" }, "ReservedIPPatch": { "properties": { "auto_delete": { "description": "Indicates whether this reserved IP member will be automatically deleted when either\n`target` is deleted, or the reserved IP is unbound. Must be `false` if the reserved IP\nis unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this reserved IP. The name must not be used by another reserved IP in the\nsubnet. Names starting with `ibm-` are reserved for provider-owned resources, and are\nnot allowed.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "ReservedIPPatch" }, "ReservedIPPrototype": { "properties": { "address": { "description": "The IP address to reserve, which must not already be reserved on the subnet.\n\nIf unspecified, an available address on the subnet will automatically be selected.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "auto_delete": { "default": false, "description": "Indicates whether this reserved IP member will be automatically deleted when either\n`target` is deleted, or the reserved IP is unbound. Must be `false` if the reserved IP\nis unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this reserved IP. The name must not be used by another reserved IP in the\nsubnet. Names starting with `ibm-` are reserved for provider-owned resources, and are\nnot allowed. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "target": { "$ref": "#/components/schemas/ReservedIPTargetPrototype" } }, "type": "object", "title": "ReservedIPPrototype" }, "ReservedIPPrototypeNetworkInterfaceContext": { "not": { "$ref": "#/components/schemas/ReservedIPIdentity" }, "properties": { "address": { "description": "The IP address to reserve, which must not already be reserved on the subnet.\n\nIf unspecified, an available address on the subnet will automatically be selected.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "auto_delete": { "default": true, "description": "Indicates whether this reserved IP member will be automatically deleted when either\n`target` is deleted, or the reserved IP is unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this reserved IP. The name must not be used by another reserved IP in the\nsubnet. Names starting with `ibm-` are reserved for provider-owned resources, and are\nnot allowed. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "ReservedIPPrototypeNetworkInterfaceContext" }, "ReservedIPPrototypeTargetContext": { "properties": { "address": { "description": "The IP address to reserve, which must not already be reserved on the subnet.\n\nIf unspecified, an available address on the subnet will automatically be selected.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "auto_delete": { "default": true, "description": "Indicates whether this reserved IP member will be automatically deleted when either\n`target` is deleted, or the reserved IP is unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this reserved IP. The name must not be used by another reserved IP in the\nsubnet. Names starting with `ibm-` are reserved for provider-owned resources, and are\nnot allowed. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The subnet in which to create this reserved IP." } ] } }, "required": [ "subnet" ], "type": "object", "title": "ReservedIPPrototypeTargetContext" }, "ReservedIPPrototypeVirtualNetworkInterfaceIPsContext": { "description": "The prototype for a new reserved IP. Must be in the primary IP's subnet.", "not": { "$ref": "#/components/schemas/ReservedIPIdentity" }, "properties": { "address": { "description": "The IP address to reserve, which must not already be reserved on the subnet.\n\nIf unspecified, an available address on the subnet will automatically be selected.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "auto_delete": { "default": true, "description": "Indicates whether this reserved IP member will be automatically deleted when either\n`target` is deleted, or the reserved IP is unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this reserved IP. The name must not be used by another reserved IP in the\nsubnet. Names starting with `ibm-` are reserved for provider-owned resources, and are\nnot allowed. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "ReservedIPPrototypeVirtualNetworkInterfaceIPsContext" }, "ReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext": { "description": "The prototype for a new reserved IP. Requires `subnet` to be specified.", "not": { "$ref": "#/components/schemas/ReservedIPIdentity" }, "properties": { "address": { "description": "The IP address to reserve, which must not already be reserved on the subnet.\n\nIf unspecified, an available address on the subnet will automatically be selected.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" }, "auto_delete": { "default": true, "description": "Indicates whether this reserved IP member will be automatically deleted when either\n`target` is deleted, or the reserved IP is unbound.", "example": false, "type": "boolean" }, "name": { "description": "The name for this reserved IP. The name must not be used by another reserved IP in the\nsubnet. Names starting with `ibm-` are reserved for provider-owned resources, and are\nnot allowed. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "ReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext" }, "ReservedIPReference": { "example": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/IPv4" } ], "description": "The IP address.\n\nIf the address has not yet been selected, the value will be `0.0.0.0`.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future." }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this reserved IP", "example": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this reserved IP", "example": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this reserved IP. The name is unique across all reserved IPs in a subnet.", "example": "my-reserved-ip", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "subnet_reserved_ip" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "address", "href", "id", "name", "resource_type" ], "type": "object", "x-child-schema-suffix": "ByHref", "title": "ReservedIPReference" }, "ReservedIPTarget": { "description": "The target this reserved IP is bound to.\n\nIf absent, this reserved IP is provider-owned or unbound.\n\nThe resources supported by this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "oneOf": [ { "$ref": "#/components/schemas/EndpointGatewayReference" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceReferenceReservedIPTargetContext" }, { "$ref": "#/components/schemas/NetworkInterfaceReferenceTargetContext" }, { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceReferenceTargetContext" }, { "$ref": "#/components/schemas/LoadBalancerReference" }, { "$ref": "#/components/schemas/VPNGatewayReference" }, { "$ref": "#/components/schemas/VPNServerReference" }, { "$ref": "#/components/schemas/GenericResourceReference" } ], "type": "object", "title": "ReservedIPTarget" }, "ReservedIPTargetPrototype": { "anyOf": [ { "$ref": "#/components/schemas/EndpointGatewayIdentity" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" } ], "description": "The target to bind this reserved IP to. The target must be in the same VPC.\n\nThe following targets are supported:\n- An endpoint gateway not already bound to a reserved IP in the subnet's zone.\n- A virtual network interface.\n\nIf unspecified, the reserved IP will be created unbound.", "example": { "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef" }, "maxProperties": 1, "type": "object", "title": "ReservedIPTargetPrototype" }, "ResourceFilter": { "description": "Identifies one or more resources according to the specified filter property.", "maxProperties": 1, "minProperties": 1, "properties": { "resource_type": { "description": "The resource type", "example": "vpn_server", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "ResourceFilter" }, "ResourceGroupIdentity": { "description": "The resource group to use. If unspecified, the account's [default resource\ngroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used.", "example": { "id": "fee82deba12e4c0fb69c3b09d1f12345" }, "oneOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentityById" } ], "type": "object", "title": "ResourceGroupIdentity" }, "ResourceGroupIdentityById": { "properties": { "id": { "description": "The unique identifier for this resource group", "example": "fee82deba12e4c0fb69c3b09d1f12345", "maxLength": 32, "minLength": 32, "pattern": "^[0-9a-f]{32}$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "ResourceGroupIdentityById" }, "ResourceGroupReference": { "example": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "properties": { "href": { "description": "The URL for this resource group", "example": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this resource group", "example": "fee82deba12e4c0fb69c3b09d1f12345", "maxLength": 32, "minLength": 32, "pattern": "^[0-9a-f]{32}$", "type": "string" }, "name": { "description": "The name for this resource group", "example": "my-resource-group", "maxLength": 40, "minLength": 1, "pattern": "^[a-zA-Z0-9-_ ]+$", "type": "string" } }, "required": [ "href", "id", "name" ], "type": "object", "title": "ResourceGroupReference" }, "ResourceType": { "description": "The resource type", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ResourceType" }, "Route": { "example": { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "action": { "description": "The action to perform with a packet matching the route:\n- `delegate`: delegate to system-provided routes\n- `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes\n- `deliver`: deliver the packet to the specified `next_hop`\n- `drop`: drop the packet\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "delegate", "delegate_vpc", "deliver", "drop" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "advertise": { "description": "Indicates whether this route will be advertised to the ingress sources\nspecified by the `advertise_routes_to` routing table property.", "type": "boolean" }, "created_at": { "description": "The date and time that the route was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "creator": { "$ref": "#/components/schemas/RouteCreator" }, "destination": { "allOf": [ { "$ref": "#/components/schemas/CIDRv4" }, { "description": "The destination CIDR of the route" } ] }, "href": { "description": "The URL for this route", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this route", "example": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the route" } ] }, "name": { "description": "The name for this route. The name is unique across all routes in the routing table.", "example": "my-vpc-routing-table-route", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "next_hop": { "allOf": [ { "$ref": "#/components/schemas/RouteNextHop" }, { "description": "If `action` is `deliver`, the next hop that packets will be delivered to. For\nother `action` values, its `address` will be `0.0.0.0`." } ] }, "origin": { "description": "The origin of this route:\n- `service`: route was directly created by a service\n- `user`: route was directly created by a user\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "service", "user" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "priority": { "description": "The priority of this route. Smaller values have higher priority.\n\nIf a routing table contains multiple routes with the same `zone` and `destination`,\nthe route with the highest priority (smallest value) is selected. If two routes have\nthe same `destination` and `priority`, traffic is distributed between them.", "example": 1, "maximum": 4, "minimum": 0, "type": "integer" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone the route applies to.\n\nIf subnets are attached to the route's routing table, egress traffic from those\nsubnets in this zone will be subject to this route. If this route's routing table\nhas any of `route_direct_link_ingress`, `route_internet_ingress`,\n`route_transit_gateway_ingress` or `route_vpc_zone_ingress` set to`true`, traffic\nfrom those ingress sources arriving in this zone will be subject to this route." } ] } }, "required": [ "action", "advertise", "created_at", "destination", "href", "id", "lifecycle_state", "name", "next_hop", "origin", "priority", "zone" ], "type": "object", "title": "Route" }, "RouteCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1/routes?limit=20" }, "limit": 20, "routes": [ { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "action": "deliver", "advertise": false, "created_at": "2025-03-24T23:49:22Z", "destination": "192.0.2.5/32", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-75709743-cc45-40a7-99b2-67b312d28af6", "id": "r006-75709743-cc45-40a7-99b2-67b312d28af6", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route-2", "next_hop": { "address": "10.240.0.22" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1/routes?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1/routes?start=a977a97fae634c4da1470691cbc4c4a1&limit=20" } }, "routes": { "description": "A page of routes in the VPC routing table", "items": { "$ref": "#/components/schemas/Route" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "routes", "total_count" ], "type": "object", "title": "RouteCollection" }, "RouteCollectionVPCContext": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes?limit=20" }, "limit": 20, "routes": [ { "action": "deliver", "advertise": true, "created_at": "2025-03-24T23:49:22Z", "destination": "192.168.32.0/26", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route", "next_hop": { "address": "10.240.0.11" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "action": "deliver", "advertise": false, "created_at": "2025-03-24T23:49:22Z", "destination": "192.0.2.5/32", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes/r006-75709743-cc45-40a7-99b2-67b312d28af6", "id": "r006-75709743-cc45-40a7-99b2-67b312d28af6", "lifecycle_state": "stable", "name": "my-vpc-routing-table-route-2", "next_hop": { "address": "10.240.0.22" }, "origin": "user", "priority": 2, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes?start=a977a97fae634c4da1470691cbc4c4a1&limit=20" } }, "routes": { "description": "A page of routes in the VPC default routing table", "items": { "$ref": "#/components/schemas/Route" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "routes", "total_count" ], "type": "object", "title": "RouteCollectionVPCContext" }, "RouteCreator": { "description": "If present, the resource that created the route. Routes with this property present cannot\nbe directly deleted. All routes with an `origin` of `service` will have this property set,\nand future `origin` values may also have this property set.", "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayReference" }, { "$ref": "#/components/schemas/VPNServerReference" } ], "type": "object", "title": "RouteCreator" }, "RouteNextHop": { "example": { "address": "10.240.0.11" }, "oneOf": [ { "$ref": "#/components/schemas/IP" }, { "$ref": "#/components/schemas/VPNGatewayConnectionReference" } ], "type": "object", "title": "RouteNextHop" }, "RouteNextHopIP": { "oneOf": [ { "$ref": "#/components/schemas/SentinelIP" }, { "$ref": "#/components/schemas/UnicastIP" } ], "type": "object", "title": "RouteNextHopIP" }, "RouteNextHopPatch": { "description": "If `action` is `deliver`, the next hop that packets will be delivered to (must not be\n`0.0.0.0`). For other `action` values, specify `0.0.0.0` or remove it by specifying\n`null`.\n\nAt most two routes per `zone` in a table can have the same `destination` and `priority`,\nand only when each route has an `action` of `deliver` and `next_hop` is an IP address.", "example": { "address": "10.240.0.11" }, "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/RouteNextHopIP" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIdentity" } ], "type": "object", "title": "RouteNextHopPatch" }, "RouteNextHopPrototype": { "description": "If `action` is `deliver`, the next hop that packets will be delivered to (must not be\n`0.0.0.0`). For other `action` values, it must be omitted or specified as `0.0.0.0`.\n\nAt most two routes per `zone` in a table can have the same `destination` and `priority`,\nand only when each route has an `action` of `deliver` and `next_hop` is an IP address.", "example": { "address": "10.240.0.11" }, "oneOf": [ { "$ref": "#/components/schemas/RouteNextHopIP" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIdentity" } ], "type": "object", "title": "RouteNextHopPrototype" }, "RoutePatch": { "properties": { "advertise": { "description": "Indicates whether this route will be advertised to the ingress sources\nspecified by the `advertise_routes_to` routing table property.\n\nSince all routes in a routing table with the same `destination` and `zone` must have\nthe same `advertise` value, this property can only be changed for routes with a unique\n`destination` and `zone` in the routing table. For more information, see [Advertising\nroutes](https://cloud.ibm.com/docs/vpc?topic=vpc-about-custom-routes#rt-advertising-routes).", "type": "boolean" }, "name": { "description": "The name for this route. The name must not be used by another route in the routing\ntable. Names starting with `ibm-` are reserved for system-provided routes, and are not\nallowed.", "example": "my-vpc-routing-table-route", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "next_hop": { "$ref": "#/components/schemas/RouteNextHopPatch" }, "priority": { "description": "The priority of this route. Smaller values have higher priority.\n\nIf a routing table contains multiple routes with the same `zone` and `destination`,\nthe route with the highest priority (smallest value) is selected. If two routes have\nthe same `destination` and `priority`, traffic is distributed between them.", "example": 1, "maximum": 4, "minimum": 0, "type": "integer" } }, "type": "object", "title": "RoutePatch" }, "RoutePrototype": { "properties": { "action": { "default": "deliver", "description": "The action to perform with a packet matching the route:\n- `delegate`: delegate to system-provided routes\n- `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes\n- `deliver`: deliver the packet to the specified `next_hop`\n- `drop`: drop the packet", "enum": [ "delegate", "delegate_vpc", "deliver", "drop" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "advertise": { "default": false, "description": "Indicates whether this route will be advertised to the ingress sources\nspecified by the `advertise_routes_to` routing table property.\n\nAll routes in a routing table with the same `destination` and `zone` must have the same\n`advertise` value.", "type": "boolean" }, "destination": { "allOf": [ { "$ref": "#/components/schemas/CIDRv4" }, { "description": "The destination CIDR of the route. The host identifier in the CIDR must be zero.\n\nAt most two routes per `zone` in a table can have the same `destination` and\n`priority`, and only if both routes have an `action` of `deliver` and the `next_hop`\nis an IP address." } ] }, "name": { "description": "The name for this route. The name must not be used by another route in the routing\ntable. Names starting with `ibm-` are reserved for system-provided routes, and are\nnot allowed. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-vpc-routing-table-route", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "next_hop": { "$ref": "#/components/schemas/RouteNextHopPrototype" }, "priority": { "default": 2, "description": "The priority of this route. Smaller values have higher priority.\n\nIf a routing table contains multiple routes with the same `zone` and `destination`,\nthe route with the highest priority (smallest value) is selected. If two routes have\nthe same `destination` and `priority`, traffic is distributed between them.", "example": 1, "maximum": 4, "minimum": 0, "type": "integer" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone to apply the route to.\n\nIf subnets are attached to the route's routing table, egress traffic from those\nsubnets in this zone will be subject to this route. If this route's routing table\nhas any of `route_direct_link_ingress`, `route_internet_ingress`,\n`route_transit_gateway_ingress` or `route_vpc_zone_ingress` set to`true`, traffic\nfrom those ingress sources arriving in this zone will be subject to this route." } ] } }, "required": [ "destination", "zone" ], "type": "object", "title": "RoutePrototype" }, "RouteReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-vpc-routing-table-route" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this route", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this route", "example": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this route. The name is unique across all routes in the routing table.", "example": "my-vpc-routing-table-route", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "id", "name" ], "type": "object", "title": "RouteReference" }, "RoutingTable": { "example": { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, "properties": { "accept_routes_from": { "description": "The filters specifying the resources that may create routes in this routing table.\n\nThe resources and types of filters supported by this property is expected to\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": [ { "resource_type": "vpn_server" } ], "items": { "$ref": "#/components/schemas/ResourceFilter" }, "type": "array", "uniqueItems": true }, "advertise_routes_to": { "description": "The ingress sources to advertise routes to. Routes in the table with `advertise`\nenabled will be advertised to these sources.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": [ "transit_gateway", "direct_link" ], "items": { "$ref": "#/components/schemas/RoutingTableAdvertiseRoutesToSource" }, "minItems": 0, "type": "array", "uniqueItems": true }, "created_at": { "description": "The date and time that this routing table was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this VPC routing table", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this routing table", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this routing table", "example": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "is_default": { "description": "Indicates whether this is the default routing table for this VPC", "type": "boolean" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the routing table" } ] }, "name": { "description": "The name for this routing table. The name is unique across all routing tables for the\nVPC.", "example": "my-routing-table-1", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this routing table" } ] }, "resource_type": { "description": "The resource type", "enum": [ "routing_table" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "route_direct_link_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\n[Direct Link](https://cloud.ibm.com/docs/dl) to this VPC.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "route_internet_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\nthe internet.\n\nIncoming traffic will be routed according to the routing table with two exceptions:\n- Traffic destined for IP addresses associated with public gateways will not be\n subject to routes in this routing table.\n- Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is\n an IP address in a subnet in the route's `zone` that is able to accept traffic.\n Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\n connection, the packet will be dropped.", "type": "boolean" }, "route_transit_gateway_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\nfrom [Transit Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "route_vpc_zone_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\nsubnets in other zones in this VPC.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "routes": { "description": "The routes for this routing table.", "items": { "$ref": "#/components/schemas/RouteReference" }, "type": "array" }, "subnets": { "description": "The subnets to which this routing table is attached", "items": { "$ref": "#/components/schemas/SubnetReference" }, "type": "array" } }, "required": [ "accept_routes_from", "advertise_routes_to", "created_at", "crn", "href", "id", "is_default", "lifecycle_state", "name", "resource_group", "resource_type", "route_direct_link_ingress", "route_internet_ingress", "route_transit_gateway_ingress", "route_vpc_zone_ingress", "routes", "subnets" ], "type": "object", "title": "RoutingTable" }, "RoutingTableAdvertiseRoutesToSource": { "description": "An ingress source that routes can be advertised to:\n\n- `direct_link` (requires `route_direct_link_ingress` be set to `true`)\n- `transit_gateway` (requires `route_transit_gateway_ingress` be set to `true`)", "enum": [ "direct_link", "transit_gateway" ], "example": "transit_gateway", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "RoutingTableAdvertiseRoutesToSource" }, "RoutingTableCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables?limit=50" }, "limit": 50, "routing_tables": [ { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [], "created_at": "2019-01-07T16:56:54Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "is_default": true, "lifecycle_state": "stable", "name": "my-routing-table", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": false, "route_internet_ingress": false, "route_transit_gateway_ingress": false, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] }, { "accept_routes_from": [ { "resource_type": "vpn_gateway" }, { "resource_type": "vpn_server" } ], "advertise_routes_to": [ "direct_link", "transit_gateway" ], "created_at": "2019-01-03T17:36:24Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe", "id": "r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe", "is_default": false, "lifecycle_state": "stable", "name": "my-routing-table-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "routing_table", "route_direct_link_ingress": true, "route_internet_ingress": false, "route_transit_gateway_ingress": true, "route_vpc_zone_ingress": false, "routes": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840/routes/r006-ae54c371-56be-4306-91bd-bb64df239d69", "id": "r006-ae54c371-56be-4306-91bd-bb64df239d69", "name": "my-route-1" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-eee6e0f4-ff31-41b4-8584-3cdd50b8fffe/routes/r006-eb8b763f-f594-48b1-8563-289178a032b4", "id": "r006-eb8b763f-f594-48b1-8563-289178a032b4", "name": "my-ingress-route" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-8722d01c-9c78-4555-82b5-53ad1266f959", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-8722d01c-9c78-4555-82b5-53ad1266f959", "id": "0717-8722d01c-9c78-4555-82b5-53ad1266f959", "name": "my-subnet-z1-1", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet-z1-2", "resource_type": "subnet" } ] } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "routing_tables": { "description": "A page of routing tables", "items": { "$ref": "#/components/schemas/RoutingTable" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "routing_tables", "total_count" ], "type": "object", "title": "RoutingTableCollection" }, "RoutingTableIdentity": { "description": "Identifies a routing table by a unique property.", "example": { "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840" }, "oneOf": [ { "$ref": "#/components/schemas/RoutingTableIdentityByCRN" }, { "$ref": "#/components/schemas/RoutingTableIdentityById" }, { "$ref": "#/components/schemas/RoutingTableIdentityByHref" } ], "type": "object", "title": "RoutingTableIdentity" }, "RoutingTableIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this VPC routing table", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "RoutingTableIdentityByCRN" }, "RoutingTableIdentityByHref": { "properties": { "href": { "description": "The URL for this routing table", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "RoutingTableIdentityByHref" }, "RoutingTableIdentityById": { "properties": { "id": { "description": "The unique identifier for this routing table", "example": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "RoutingTableIdentityById" }, "RoutingTablePatch": { "properties": { "accept_routes_from": { "description": "The filters specifying the resources that may create routes in this routing table\n(replacing any existing filters). All routes created by resources that match a given\nfilter will be removed when an existing filter is removed. Therefore, if an empty\narray is specified, all filters will be removed, resulting in all routes not directly\ncreated by the user being removed.\n\nIf specified, `resource_type` must be `vpn_gateway` or `vpn_server`.", "example": [ { "resource_type": "vpn_server" } ], "items": { "$ref": "#/components/schemas/ResourceFilter" }, "type": "array", "uniqueItems": true }, "advertise_routes_to": { "description": "The ingress sources to advertise routes to, replacing any existing sources to advertise\nto. Routes in the table with `advertise` enabled will be advertised to these sources.", "items": { "$ref": "#/components/schemas/RoutingTableAdvertiseRoutesToSource" }, "minItems": 0, "type": "array", "uniqueItems": true }, "name": { "description": "The name for this routing table. The name must not be used by another routing table in\nthe VPC.", "example": "my-routing-table-2", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "route_direct_link_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\n[Direct Link](https://cloud.ibm.com/docs/dl/) to this VPC. Updating to `true` selects\nthis routing table, provided no other routing table in the VPC already has this\nproperty set to `true`, and no subnets are attached to this routing table. Updating to\n`false` deselects this routing table, provided `direct_link` is absent from\n`advertise_routes_to`.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "route_internet_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates\nfrom the internet. Updating to `true` selects this routing table, provided no other\nrouting table in the VPC already has this property set to `true`. Updating to `false`\ndeselects this routing table.\n\nIncoming traffic will be routed according to the routing table with two exceptions:\n- Traffic destined for IP addresses associated with public gateways will not be subject\n to routes in this routing table.\n- Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\n IP address in a subnet in the route's `zone` that is able to accept traffic.\n Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\n connection, the packet will be dropped.", "type": "boolean" }, "route_transit_gateway_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\n[Transit Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC. Updating to\n`true` selects this routing table, provided no other routing table in the VPC already\nhas this property set to `true`, and no subnets are attached to this routing table.\nUpdating to `false` deselects this routing table, provided `transit_gateway` is absent\nfrom `advertise_routes_to`.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.\n\nIf [Classic\nAccess](https://cloud.ibm.com/docs/vpc?topic=vpc-setting-up-access-to-classic-infrastructure)\nis enabled for this VPC, and this property is set to `true`, its incoming traffic will\nalso be routed according to this routing table.", "type": "boolean" }, "route_vpc_zone_ingress": { "description": "Indicates whether this routing table is used to route traffic that originates from\nsubnets in other zones in this VPC. Updating to `true` selects this routing table,\nprovided no other routing table in the VPC already has this property set to `true`, and\nno subnets are attached to this routing table. Updating to `false` deselects this\nrouting table.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" } }, "type": "object", "title": "RoutingTablePatch" }, "RoutingTablePrototype": { "properties": { "accept_routes_from": { "description": "The filters specifying the resources that may create routes in this routing table.\n\nIf specified, `resource_type` must be `vpn_gateway` or `vpn_server`.", "example": [ { "resource_type": "vpn_server" } ], "items": { "$ref": "#/components/schemas/ResourceFilter" }, "type": "array", "uniqueItems": true }, "advertise_routes_to": { "default": [], "description": "The ingress sources to advertise routes to. Routes in the table with `advertise`\nenabled will be advertised to these sources.", "items": { "$ref": "#/components/schemas/RoutingTableAdvertiseRoutesToSource" }, "minItems": 0, "type": "array", "uniqueItems": true }, "name": { "description": "The name for this routing table. The name must not be used by another routing table in\nthe VPC. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-routing-table-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "route_direct_link_ingress": { "default": false, "description": "If set to `true`, this routing table will be used to route traffic that originates\nfrom [Direct Link](https://cloud.ibm.com/docs/dl) to this VPC. The VPC must not\nalready have a routing table with this property set to `true`.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.\n\nIf [Classic\nAccess](https://cloud.ibm.com/docs/vpc?topic=vpc-setting-up-access-to-classic-infrastructure)\nis enabled for this VPC, and this property is set to `true`, its incoming traffic will\nalso be routed according to this routing table.", "type": "boolean" }, "route_internet_ingress": { "default": false, "description": "If set to `true`, this routing table will be used to route traffic that originates\nfrom the internet. For this to succeed, the VPC must not already have a routing\ntable with this property set to `true`.\n\nIncoming traffic will be routed according to the routing table with two exceptions:\n- Traffic destined for IP addresses associated with public gateways will not be\n subject to routes in this routing table.\n- Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is\n an IP address in a subnet in the route's `zone` that is able to accept traffic.\n Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\n connection, the packet will be dropped.", "type": "boolean" }, "route_transit_gateway_ingress": { "default": false, "description": "If set to `true`, this routing table will be used to route traffic that originates\nfrom [Transit Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC. The\nVPC must not already have a routing table with this property set to `true`.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "route_vpc_zone_ingress": { "default": false, "description": "If set to `true`, this routing table will be used to route traffic that originates\nfrom subnets in other zones in this VPC. The VPC must not already have a routing table\nwith this property set to `true`.\n\nIncoming traffic will be routed according to the routing table with one exception:\nroutes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an\nIP address in a subnet in the route's `zone` that is able to accept traffic.\nTherefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway\nconnection, the packet will be dropped.", "type": "boolean" }, "routes": { "description": "The prototype objects for routes to create for this routing table. If unspecified, the\nrouting table will be created with no routes.", "items": { "$ref": "#/components/schemas/RoutePrototype" }, "type": "array" } }, "type": "object", "title": "RoutingTablePrototype" }, "RoutingTableReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "properties": { "crn": { "description": "The CRN for this VPC routing table", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this routing table", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this routing table", "example": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this routing table. The name is unique across all routing tables for the\nVPC.", "example": "my-routing-table-1", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "routing_table" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "RoutingTableReference" }, "SecurityGroup": { "example": { "created_at": "2024-11-04T17:52:13Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-b597cff2-38e8-4e6e-999d-000002172691", "id": "r006-b597cff2-38e8-4e6e-999d-000002172691", "ip_version": "ipv4", "local": { "address": "10.0.1.5" }, "port_max": 22, "port_min": 22, "protocol": "tcp", "remote": { "cidr_block": "192.168.0.0/24" } }, { "code": 0, "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-a068be66-395e-4f87-b9ba-3b4f420a6415", "id": "r006-a068be66-395e-4f87-b9ba-3b4f420a6415", "ip_version": "ipv4", "local": { "cidr_block": "10.0.0.0/8" }, "protocol": "icmp", "remote": { "cidr_block": "0.0.0.0/0" }, "type": 8 } ], "targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "resource_type": "network_interface" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "created_at": { "description": "The date and time that this security group was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this security group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this security group", "example": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this security group", "example": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this security group. The name is unique across all security groups for\nthe VPC.", "example": "my-security-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this security group" } ] }, "rules": { "description": "The rules for this security group. If no rules exist, no traffic will be allowed.", "items": { "$ref": "#/components/schemas/SecurityGroupRule" }, "type": "array" }, "targets": { "description": "The targets for this security group.", "items": { "$ref": "#/components/schemas/SecurityGroupTargetReference" }, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this security group resides in" } ] } }, "required": [ "created_at", "crn", "href", "id", "name", "resource_group", "rules", "targets", "vpc" ], "type": "object", "title": "SecurityGroup" }, "SecurityGroupCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups?limit=20" }, "limit": 20, "security_groups": [ { "created_at": "2024-11-04T17:52:13Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-b597cff2-38e8-4e6e-999d-000002172691", "id": "r006-b597cff2-38e8-4e6e-999d-000002172691", "ip_version": "ipv4", "local": { "address": "10.0.1.5" }, "port_max": 22, "port_min": 22, "protocol": "tcp", "remote": { "cidr_block": "192.168.0.0/24" } }, { "code": 0, "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-a068be66-395e-4f87-b9ba-3b4f420a6415", "id": "r006-a068be66-395e-4f87-b9ba-3b4f420a6415", "ip_version": "ipv4", "local": { "cidr_block": "10.0.0.0/8" }, "protocol": "icmp", "remote": { "cidr_block": "0.0.0.0/0" }, "type": 8 } ], "targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "resource_type": "network_interface" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "created_at": "2024-11-04T19:22:23Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-8381751f-db71-402c-b3e7-fbf60adcf8ae", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-8381751f-db71-402c-b3e7-fbf60adcf8ae", "id": "r006-8381751f-db71-402c-b3e7-fbf60adcf8ae", "name": "my-security-group-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "rules": [ { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-8381751f-db71-402c-b3e7-fbf60adcf8ae/rules/r006-b597cff2-38e8-4e6e-999d-000002166937", "id": "r006-b597cff2-38e8-4e6e-999d-000002166937", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "port_max": 22, "port_min": 22, "protocol": "tcp", "remote": { "cidr_block": "0.0.0.0/0" } }, { "direction": "outbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-8381751f-db71-402c-b3e7-fbf60adcf8ae/rules/r006-b597cff2-38e8-4e6e-999d-000002166993", "id": "r006-b597cff2-38e8-4e6e-999d-000002166993", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "protocol": "all", "remote": { "cidr_block": "0.0.0.0/0" } }, { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-8381751f-db71-402c-b3e7-fbf60adcf8ae/rules/r006-b597cff2-38e8-4e6e-999d-000002167157", "id": "r006-b597cff2-38e8-4e6e-999d-000002167157", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "protocol": "all", "remote": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-8381751f-db71-402c-b3e7-fbf60adcf8ae", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-8381751f-db71-402c-b3e7-fbf60adcf8ae", "id": "r006-8381751f-db71-402c-b3e7-fbf60adcf8ae", "name": "my-security-group-2" } }, { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-8381751f-db71-402c-b3e7-fbf60adcf8ae/rules/r006-b597cff2-38e8-4e6e-999d-000002167167", "id": "r006-b597cff2-38e8-4e6e-999d-000002167167", "ip_version": "ipv4", "local": { "cidr_block": "0.0.0.0/0" }, "protocol": "icmp", "remote": { "cidr_block": "0.0.0.0/0" } } ], "targets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "virtual_network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "security_groups": { "description": "A page of security groups", "items": { "$ref": "#/components/schemas/SecurityGroup" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "security_groups", "total_count" ], "type": "object", "title": "SecurityGroupCollection" }, "SecurityGroupIdentity": { "description": "Identifies a security group by a unique property.", "example": { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" }, "oneOf": [ { "$ref": "#/components/schemas/SecurityGroupIdentityById" }, { "$ref": "#/components/schemas/SecurityGroupIdentityByCRN" }, { "$ref": "#/components/schemas/SecurityGroupIdentityByHref" } ], "type": "object", "title": "SecurityGroupIdentity" }, "SecurityGroupIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this security group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "SecurityGroupIdentityByCRN" }, "SecurityGroupIdentityByHref": { "properties": { "href": { "description": "The URL for this security group", "example": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "SecurityGroupIdentityByHref" }, "SecurityGroupIdentityById": { "properties": { "id": { "description": "The unique identifier for this security group", "example": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "SecurityGroupIdentityById" }, "SecurityGroupPatch": { "properties": { "name": { "description": "The name for this security group. The name must not be used by another security group\nfor the VPC.", "example": "my-security-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "SecurityGroupPatch" }, "SecurityGroupPrototype": { "properties": { "name": { "description": "The name for this security group. The name must not be used by another security group\nfor the VPC. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-security-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "rules": { "description": "The prototype objects for rules to be created for this security group. If unspecified,\nno rules will be created, resulting in no traffic being allowed.", "items": { "$ref": "#/components/schemas/SecurityGroupRulePrototype" }, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC this security group will reside in" } ] } }, "required": [ "vpc" ], "type": "object", "title": "SecurityGroupPrototype" }, "SecurityGroupReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" }, "properties": { "crn": { "description": "The CRN for this security group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this security group", "example": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this security group", "example": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this security group. The name is unique across all security groups for\nthe VPC.", "example": "my-security-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "crn", "href", "id", "name" ], "type": "object", "title": "SecurityGroupReference" }, "SecurityGroupRule": { "discriminator": { "mapping": { "all": "#/components/schemas/SecurityGroupRuleProtocolAll", "icmp": "#/components/schemas/SecurityGroupRuleProtocolICMP", "tcp": "#/components/schemas/SecurityGroupRuleProtocolTCPUDP", "udp": "#/components/schemas/SecurityGroupRuleProtocolTCPUDP" }, "propertyName": "protocol" }, "example": { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-b597cff2-38e8-4e6e-999d-000002172691", "id": "r006-b597cff2-38e8-4e6e-999d-000002172691", "ip_version": "ipv4", "local": { "address": "10.0.1.5" }, "port_max": 22, "port_min": 22, "protocol": "tcp", "remote": { "cidr_block": "192.168.0.0/24" } }, "oneOf": [ { "$ref": "#/components/schemas/SecurityGroupRuleProtocolAll" }, { "$ref": "#/components/schemas/SecurityGroupRuleProtocolICMP" }, { "$ref": "#/components/schemas/SecurityGroupRuleProtocolTCPUDP" } ], "properties": { "direction": { "description": "The direction of traffic to allow.", "enum": [ "inbound", "outbound" ], "example": "inbound", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this security group rule", "example": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this security group rule", "example": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ip_version": { "description": "The IP version to allow. The format of `local.address`, `remote.address`,\n`local.cidr_block` or `remote.cidr_block` must match this property, if they are used.\n\nIf `remote` references a security group, then this rule only applies to IP addresses\nin that group matching this IP version.", "enum": [ "ipv4" ], "example": "ipv4", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "local": { "$ref": "#/components/schemas/SecurityGroupRuleLocal" }, "protocol": { "description": "The network protocol.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "all", "icmp", "tcp", "udp" ], "example": "tcp", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "remote": { "$ref": "#/components/schemas/SecurityGroupRuleRemote" } }, "required": [ "direction", "href", "id", "ip_version", "local", "protocol", "remote" ], "type": "object", "title": "SecurityGroupRule" }, "SecurityGroupRuleCodePatch": { "description": "The ICMP traffic code to allow. If set, `type` must also be set.\n\nSpecify `null` to remove an existing ICMP traffic code.", "example": 0, "maximum": 255, "minimum": 0, "nullable": true, "type": "integer", "title": "SecurityGroupRuleCodePatch" }, "SecurityGroupRuleCollection": { "example": { "rules": [ { "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-b597cff2-38e8-4e6e-999d-000002172691", "id": "r006-b597cff2-38e8-4e6e-999d-000002172691", "ip_version": "ipv4", "local": { "address": "10.0.1.5" }, "port_max": 22, "port_min": 22, "protocol": "tcp", "remote": { "cidr_block": "192.168.0.0/24" } }, { "code": 0, "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-a068be66-395e-4f87-b9ba-3b4f420a6415", "id": "r006-a068be66-395e-4f87-b9ba-3b4f420a6415", "ip_version": "ipv4", "local": { "cidr_block": "10.0.0.0/8" }, "protocol": "icmp", "remote": { "cidr_block": "0.0.0.0/0" }, "type": 8 } ] }, "properties": { "rules": { "description": "The rules for the security group", "items": { "$ref": "#/components/schemas/SecurityGroupRule" }, "type": "array" } }, "required": [ "rules" ], "type": "object", "title": "SecurityGroupRuleCollection" }, "SecurityGroupRuleLocal": { "description": "The local IP address or range of local IP addresses to which this rule will allow inbound\ntraffic (or from which, for outbound traffic). A CIDR block of `0.0.0.0/0` allows traffic\nto all local IP addresses (or from all local IP addresses, for outbound rules).", "oneOf": [ { "$ref": "#/components/schemas/IP" }, { "$ref": "#/components/schemas/CIDR" } ], "type": "object", "title": "SecurityGroupRuleLocal" }, "SecurityGroupRuleLocalPatch": { "description": "The local IP address or range of local IP addresses to which this rule will allow inbound\ntraffic (or from which, for outbound traffic). Can be specified as an IP address or a CIDR\nblock.\n\nSpecify a CIDR block of `0.0.0.0/0` to allow traffic to all local IP addresses (or from all\nlocal IP addresses, for outbound rules).", "oneOf": [ { "$ref": "#/components/schemas/IP" }, { "$ref": "#/components/schemas/CIDR" } ], "type": "object", "title": "SecurityGroupRuleLocalPatch" }, "SecurityGroupRuleLocalPrototype": { "default": { "cidr_block": "0.0.0.0/0" }, "description": "The local IP address or range of local IP addresses to which this rule will allow inbound\ntraffic (or from which, for outbound traffic).\n\nIf unspecified, a CIDR block of `0.0.0.0/0` will be used to allow traffic to all local IP\naddresses (or from all local IP addresses, for outbound rules).", "oneOf": [ { "$ref": "#/components/schemas/IP" }, { "$ref": "#/components/schemas/CIDR" } ], "type": "object", "title": "SecurityGroupRuleLocalPrototype" }, "SecurityGroupRulePatch": { "example": { "local": { "address": "10.10.1.5" }, "remote": { "cidr_block": "10.0.0.0/16" } }, "properties": { "code": { "$ref": "#/components/schemas/SecurityGroupRuleCodePatch" }, "direction": { "description": "The direction of traffic to allow.", "enum": [ "inbound", "outbound" ], "example": "inbound", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ip_version": { "description": "The IP version to allow. The format of `local.address`, `remote.address`,\n`local.cidr_block` or `remote.cidr_block` must match this property, if they are used.\n\nIf `remote` references a security group, then this rule only applies to IP addresses\nin that group matching this IP version.", "enum": [ "ipv4" ], "example": "ipv4", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "local": { "$ref": "#/components/schemas/SecurityGroupRuleLocalPatch" }, "port_max": { "$ref": "#/components/schemas/SecurityGroupRulePortMaxPatch" }, "port_min": { "$ref": "#/components/schemas/SecurityGroupRulePortMinPatch" }, "remote": { "$ref": "#/components/schemas/SecurityGroupRuleRemotePatch" }, "type": { "$ref": "#/components/schemas/SecurityGroupRuleTypePatch" } }, "type": "object", "title": "SecurityGroupRulePatch" }, "SecurityGroupRulePortMaxPatch": { "description": "The inclusive upper bound of the protocol destination port range. If set, `port_min` must\nalso be set, and must not be larger.\n\nSpecify `null` to remove an existing upper bound.", "example": 22, "maximum": 65535, "minimum": 1, "nullable": true, "type": "integer", "title": "SecurityGroupRulePortMaxPatch" }, "SecurityGroupRulePortMinPatch": { "description": "The inclusive lower bound of the protocol destination port range. If set, `port_max` must\nalso be set, and must not be smaller.\n\nSpecify `null` to remove an existing lower bound.", "example": 22, "maximum": 65535, "minimum": 1, "nullable": true, "type": "integer", "title": "SecurityGroupRulePortMinPatch" }, "SecurityGroupRuleProtocolAll": { "description": "A rule allowing ICMP, TCP and UDP traffic.", "properties": { "protocol": { "description": "The network protocol", "enum": [ "all" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "x-child-schema-name": "SecurityGroupRuleSecurityGroupRuleProtocolAll", "title": "SecurityGroupRuleProtocolAll" }, "SecurityGroupRuleProtocolAllPrototype": { "description": "A rule allowing ICMP, TCP and UDP traffic.", "properties": { "protocol": { "description": "The network protocol", "enum": [ "all" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "x-child-schema-name": "SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll", "title": "SecurityGroupRuleProtocolAllPrototype" }, "SecurityGroupRuleProtocolICMP": { "description": "A rule specifying the ICMP traffic to allow.", "properties": { "code": { "description": "The ICMP traffic code to allow. If absent, all codes are allowed.", "example": 0, "maximum": 255, "minimum": 0, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "icmp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The ICMP traffic type to allow. If absent, all types are allowed.", "example": 8, "maximum": 254, "minimum": 0, "type": "integer" } }, "required": [ "protocol" ], "type": "object", "x-child-schema-name": "SecurityGroupRuleSecurityGroupRuleProtocolICMP", "title": "SecurityGroupRuleProtocolICMP" }, "SecurityGroupRuleProtocolICMPPrototype": { "description": "A rule specifying the ICMP traffic to allow.", "properties": { "code": { "description": "The ICMP traffic code to allow.\n\nIf specified, `type` must also be specified. If unspecified, all codes are allowed.", "example": 0, "maximum": 255, "minimum": 0, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "icmp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The ICMP traffic type to allow.\n\nIf unspecified, all types are allowed.", "example": 8, "maximum": 254, "minimum": 0, "type": "integer" } }, "required": [ "protocol" ], "type": "object", "x-child-schema-name": "SecurityGroupRulePrototypeSecurityGroupRuleProtocolICMP", "title": "SecurityGroupRuleProtocolICMPPrototype" }, "SecurityGroupRuleProtocolTCPUDP": { "description": "A rule specifying the TCP or UDP traffic to allow.\n\nEither both `port_min` and `port_max` will be present, or neither. When neither is present,\nall destination ports are allowed for the protocol. When both have the same value, that\nsingle destination port is allowed.", "properties": { "port_max": { "description": "The inclusive upper bound of the TCP or UDP destination port range.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_min": { "description": "The inclusive lower bound of the TCP or UDP destination port range.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "x-child-schema-name": "SecurityGroupRuleSecurityGroupRuleProtocolTCPUDP", "title": "SecurityGroupRuleProtocolTCPUDP" }, "SecurityGroupRuleProtocolTCPUDPPrototype": { "description": "A rule specifying the TCP or UDP traffic to allow.", "properties": { "port_max": { "description": "The inclusive upper bound of the TCP or UDP destination port range.\n\nIf specified, `port_min` must also be specified, and must not be larger. If unspecified,\n`port_min` must also be unspecified, allowing traffic on all destination ports.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "port_min": { "description": "The inclusive lower bound of the TCP or UDP destination port range.\n\nIf specified, `port_max` must also be specified, and must not be smaller. If\nunspecified, `port_max` must also be unspecified, allowing traffic on all destination\nports.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The network protocol", "enum": [ "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "protocol" ], "type": "object", "x-child-schema-name": "SecurityGroupRulePrototypeSecurityGroupRuleProtocolTCPUDP", "title": "SecurityGroupRuleProtocolTCPUDPPrototype" }, "SecurityGroupRulePrototype": { "example": { "direction": "inbound", "ip_version": "ipv4", "local": { "address": "10.0.1.5" }, "port_max": 22, "port_min": 22, "protocol": "tcp", "remote": { "cidr_block": "192.168.0.0/24" } }, "oneOf": [ { "$ref": "#/components/schemas/SecurityGroupRuleProtocolAllPrototype" }, { "$ref": "#/components/schemas/SecurityGroupRuleProtocolICMPPrototype" }, { "$ref": "#/components/schemas/SecurityGroupRuleProtocolTCPUDPPrototype" } ], "properties": { "direction": { "description": "The direction of traffic to allow.", "enum": [ "inbound", "outbound" ], "example": "inbound", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ip_version": { "default": "ipv4", "description": "The IP version to allow. The format of `local.address`, `remote.address`,\n`local.cidr_block` or `remote.cidr_block` must match this property, if they are used.\n\nIf `remote` references a security group, then this rule only applies to IP addresses\nin that group matching this IP version.", "enum": [ "ipv4" ], "example": "ipv4", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "local": { "$ref": "#/components/schemas/SecurityGroupRuleLocalPrototype" }, "protocol": { "description": "The network protocol", "enum": [ "all", "icmp", "tcp", "udp" ], "example": "tcp", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "remote": { "$ref": "#/components/schemas/SecurityGroupRuleRemotePrototype" } }, "required": [ "direction", "protocol" ], "type": "object", "x-unevaluatedProperties": false, "title": "SecurityGroupRulePrototype" }, "SecurityGroupRuleRemote": { "description": "The remote IP addresses or security groups from which this rule allows traffic (or to\nwhich, for outbound rules). A CIDR block of `0.0.0.0/0` allows traffic from any source\n(or to any destination, for outbound rules).", "oneOf": [ { "$ref": "#/components/schemas/IP" }, { "$ref": "#/components/schemas/CIDR" }, { "$ref": "#/components/schemas/SecurityGroupReference" } ], "type": "object", "title": "SecurityGroupRuleRemote" }, "SecurityGroupRuleRemotePatch": { "description": "The remote IP addresses or security groups from which this rule will allow traffic (or to\nwhich, for outbound rules). Can be specified as an IP address, a CIDR block, or a\nsecurity group. A CIDR block of `0.0.0.0/0` will allow traffic from any source (or to\nany destination, for outbound rules).", "oneOf": [ { "$ref": "#/components/schemas/IP" }, { "$ref": "#/components/schemas/CIDR" }, { "$ref": "#/components/schemas/SecurityGroupIdentity" } ], "type": "object", "title": "SecurityGroupRuleRemotePatch" }, "SecurityGroupRuleRemotePrototype": { "default": { "cidr_block": "0.0.0.0/0" }, "description": "The remote IP addresses or security groups from which this rule will allow traffic (or to\nwhich, for outbound rules). Can be specified as an IP address, a CIDR block, or a\nsecurity group within the VPC.\n\nIf unspecified, a CIDR block of `0.0.0.0/0` will be used to allow traffic from any source\n(or to any destination, for outbound rules).", "oneOf": [ { "$ref": "#/components/schemas/IP" }, { "$ref": "#/components/schemas/CIDR" }, { "$ref": "#/components/schemas/SecurityGroupIdentity" } ], "type": "object", "title": "SecurityGroupRuleRemotePrototype" }, "SecurityGroupRuleTypePatch": { "description": "The ICMP traffic type to allow.\n\nSpecify `null` to remove an existing ICMP traffic type value.", "example": 8, "maximum": 254, "minimum": 0, "nullable": true, "type": "integer", "title": "SecurityGroupRuleTypePatch" }, "SecurityGroupTargetCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/targets?limit=50" }, "limit": 50, "targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "resource_type": "network_interface" } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/targets?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/targets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "targets": { "description": "A page of targets for the security group.", "items": { "$ref": "#/components/schemas/SecurityGroupTargetReference" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "targets", "total_count" ], "type": "object", "title": "SecurityGroupTargetCollection" }, "SecurityGroupTargetReference": { "description": "A target of this security group.\n\nThe resources supported by this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7", "name": "my-instance-network-interface", "resource_type": "network_interface" }, "oneOf": [ { "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceReferenceTargetContext" }, { "$ref": "#/components/schemas/EndpointGatewayReference" }, { "$ref": "#/components/schemas/LoadBalancerReference" }, { "$ref": "#/components/schemas/NetworkInterfaceReferenceTargetContext" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceReference" }, { "$ref": "#/components/schemas/VPNServerReference" } ], "type": "object", "title": "SecurityGroupTargetReference" }, "SentinelIP": { "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/SentinelIPv4" } ], "description": "The sentinel IP address (`0.0.0.0`).\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future." } }, "required": [ "address" ], "type": "object", "title": "SentinelIP" }, "SentinelIPv4": { "example": "0.0.0.0", "maxLength": 7, "minLength": 7, "pattern": "^0\\.0\\.0\\.0$", "type": "string", "title": "SentinelIPv4" }, "Share": { "example": { "access_control_mode": "security_group", "accessor_binding_role": "origin", "accessor_bindings": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" } ], "allowed_transit_encryption_modes": [ "none", "user_managed" ], "created_at": "2025-01-06T22:58:49.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "encryption": "provider_managed", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "initial_owner": { "gid": 50, "uid": 50 }, "iops": 14400, "lifecycle_reasons": [], "lifecycle_state": "stable", "mount_targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" } ], "name": "my-share", "profile": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "replication_role": "none", "replication_status": "none", "replication_status_reasons": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share", "size": 4800, "snapshot_count": 10, "snapshot_size": 10, "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "access_control_mode": { "description": "The access control mode for the share:\n\n- `security_group`: The security groups on the virtual network interface for a mount\n target control access to the mount target.\n- `vpc`: All clients in the VPC for a mount target have access to the mount target.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "security_group", "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "accessor_binding_role": { "$ref": "#/components/schemas/ShareAccessorBindingRole" }, "accessor_bindings": { "description": "The accessor bindings for this file share. Each accessor binding identifies a\nresource (possibly in another account) with access to this file share's data and its\nsnapshots.", "items": { "$ref": "#/components/schemas/ShareAccessorBindingReference" }, "minItems": 0, "type": "array", "uniqueItems": true }, "allowed_transit_encryption_modes": { "description": "The transit encryption modes allowed for this share:\n- `none`: Not encrypted in transit.\n- `user_managed`: Encrypted in transit using an instance identity certificate.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "items": { "$ref": "#/components/schemas/ShareAllowedTransitEncryptionMode" }, "minItems": 1, "type": "array", "uniqueItems": true }, "created_at": { "description": "The date and time that the file share is created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this file share", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "encryption": { "description": "The type of encryption used for this file share", "enum": [ "provider_managed", "user_managed" ], "example": "provider_managed", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyReference" }, { "description": "The key used to encrypt this file share.\n\nThis property will be present if `encryption` is `user_managed`." } ] }, "href": { "description": "The URL for this file share", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this file share", "example": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "initial_owner": { "allOf": [ { "$ref": "#/components/schemas/ShareInitialOwner" }, { "description": "The owner assigned to the file share at creation." } ] }, "iops": { "description": "The maximum input/output operations per second (IOPS) for the file share.\nIn addition, each client accessing the share will be restricted to 48,000 IOPS.\n\nThe maximum IOPS for a share may increase in the future.", "example": 100, "format": "int64", "maximum": 9007199254740991, "minimum": 100, "type": "integer" }, "latest_job": { "allOf": [ { "$ref": "#/components/schemas/ShareJob" }, { "description": "The latest job associated with this file share.\n\nThis property will be absent if no jobs have been created for this file share." } ] }, "latest_sync": { "$ref": "#/components/schemas/ShareLatestSync" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/ShareLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the file share" } ] }, "mount_targets": { "description": "The mount targets for the file share", "items": { "$ref": "#/components/schemas/ShareMountTargetReference" }, "minItems": 0, "type": "array" }, "name": { "description": "The name for this share. The name is unique across all shares in the region.", "example": "my-share", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "origin_share": { "allOf": [ { "$ref": "#/components/schemas/ShareReference" }, { "description": "The origin share this accessor share is referring to.\n\nThis property will be present when the `accessor_binding_role` is `accessor`." } ] }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileReference" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) for\nthis file share" } ] }, "replica_share": { "allOf": [ { "$ref": "#/components/schemas/ShareReference" }, { "description": "The replica file share for this source file share.\n\nThis property will be present when the `replication_role` is `source`." } ] }, "replication_cron_spec": { "description": "The cron specification for the file share replication schedule.\n\nThis property will be present when the `replication_role` is `replica`.", "example": "0 */5 * * *", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "replication_role": { "$ref": "#/components/schemas/ShareReplicationRole" }, "replication_status": { "description": "The replication status of the file share:\n- `active`: This share is actively participating in replication, and the replica's\ndata is up-to-date with the replication schedule.\n- `degraded`: This is share is participating in replication, but the replica's data has\nfallen behind the replication schedule.\n- `failover_pending`: This share is performing a replication failover.\n- `initializing`: This share is initializing replication.\n- `none`: This share is not participating in replication.\n- `split_pending`: This share is performing a replication split.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "degraded", "failover_pending", "initializing", "none", "split_pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "replication_status_reasons": { "description": "The reasons for the current replication status (if any).", "items": { "$ref": "#/components/schemas/ShareReplicationStatusReason" }, "type": "array" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this file share" } ] }, "resource_type": { "description": "The resource type", "enum": [ "share" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "size": { "description": "The size of the file share (in gigabytes), excluding share snapshots.", "example": 200, "format": "int64", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "snapshot_count": { "description": "The total number of snapshots for this share.", "minimum": 0, "type": "integer" }, "snapshot_size": { "description": "The total size (in gigabytes) of snapshots used for this file share.", "minimum": 0, "type": "integer" }, "source_share": { "allOf": [ { "$ref": "#/components/schemas/ShareReference" }, { "description": "The source file share for this replica file share.\n\nThis property will be present when the `replication_role` is `replica`." } ] }, "source_snapshot": { "allOf": [ { "$ref": "#/components/schemas/ShareSourceSnapshot" }, { "description": "The snapshot this file share was cloned from.\n\nThis property will be present when the share was created from a snapshot.\n\nThe resources supported by this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the\nfuture." } ] }, "user_tags": { "description": "The tags for this resource.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" } ], "description": "The zone this file share resides in." } }, "required": [ "access_control_mode", "accessor_binding_role", "accessor_bindings", "allowed_transit_encryption_modes", "created_at", "crn", "encryption", "href", "id", "initial_owner", "iops", "lifecycle_reasons", "lifecycle_state", "mount_targets", "name", "profile", "replication_role", "replication_status", "replication_status_reasons", "resource_group", "resource_type", "size", "snapshot_count", "snapshot_size", "user_tags", "zone" ], "type": "object", "title": "Share" }, "ShareAccessorBinding": { "example": { "accessor": { "crn": "crn:v1:bluemix:public:pm-20:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:6500f05d-a5b5-4ecf-91ba-0d12b9dee607::", "resource_type": "watsonx_machine_learning" }, "created_at": "2025-01-06T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "lifecycle_state": "stable", "resource_type": "share_accessor_binding" }, "properties": { "accessor": { "$ref": "#/components/schemas/ShareAccessorBindingAccessor" }, "created_at": { "description": "The date and time that the share accessor binding was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this share accessor binding", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this share accessor binding", "example": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the file share accessor binding" } ] }, "resource_type": { "description": "The resource type", "enum": [ "share_accessor_binding" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "accessor", "created_at", "href", "id", "lifecycle_state", "resource_type" ], "type": "object", "title": "ShareAccessorBinding" }, "ShareAccessorBindingAccessor": { "description": "The accessor for this share accessor binding.", "example": { "crn": "crn:v1:bluemix:public:pm-20:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:6500f05d-a5b5-4ecf-91ba-0d12b9dee607::", "resource_type": "watsonx_machine_learning" }, "oneOf": [ { "$ref": "#/components/schemas/ShareReference" }, { "$ref": "#/components/schemas/WatsonxMachineLearningReference" } ], "type": "object", "title": "ShareAccessorBindingAccessor" }, "ShareAccessorBindingCollection": { "example": { "accessor_bindings": [ { "accessor": { "crn": "crn:v1:bluemix:public:pm-20:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:6500f05d-a5b5-4ecf-91ba-0d12b9dee607::", "resource_type": "watsonx_machine_learning" }, "created_at": "2025-01-06T16:56:54Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "lifecycle_state": "stable", "resource_type": "share_accessor_binding" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings?limit=50" }, "limit": 50, "total_count": 1 }, "properties": { "accessor_bindings": { "description": "A page of accessor bindings for the share", "items": { "$ref": "#/components/schemas/ShareAccessorBinding" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "accessor_bindings", "first", "limit", "total_count" ], "type": "object", "title": "ShareAccessorBindingCollection" }, "ShareAccessorBindingReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" }, "properties": { "href": { "description": "The URL for this share accessor binding", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this share accessor binding", "example": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "share_accessor_binding" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "resource_type" ], "type": "object", "title": "ShareAccessorBindingReference" }, "ShareAccessorBindingRole": { "description": "The accessor binding role of this file share:\n- `none`: This file share is not participating in access with another file share\n- `origin`: This file share is the origin for one or more file shares\n (which may be in other accounts)\n- `accessor`: This file share is providing access to another file share\n (which may be in another account)", "enum": [ "accessor", "none", "origin" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ShareAccessorBindingRole" }, "ShareAllowedTransitEncryptionMode": { "enum": [ "none", "user_managed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ShareAllowedTransitEncryptionMode" }, "ShareByOriginShare": { "description": "Create an accessor file share for an existing file share. The values for\n`access_control_mode`, `encryption_key`, `initial_owner`, `iops`, `profile`, `size`, and\n`zone` will be inherited from `origin_share`.", "not": { "$ref": "#/components/schemas/ShareByOriginShareNot" }, "properties": { "origin_share": { "allOf": [ { "$ref": "#/components/schemas/ShareIdentity" }, { "description": "The origin share for the accessor share. The origin share must have an\n`access_control_mode` of `security_group`, and must not have an\n`accessor_binding_role` of `accessor`.\n\nThe specified share may be in a different account, subject to IAM policies." } ] }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use. If unspecified, the resource group from\nthe origin share will be used." } ] } }, "required": [ "origin_share" ], "type": "object", "title": "ShareByOriginShare" }, "ShareByOriginShareNot": { "properties": { "replica_share": { "$ref": "#/components/schemas/ShareIdentity" } }, "required": [ "replica_share" ], "type": "object", "title": "ShareByOriginShareNot" }, "ShareBySize": { "description": "Create a file share by size.", "not": { "$ref": "#/components/schemas/ShareBySizeNot" }, "properties": { "access_control_mode": { "default": "security_group", "description": "The access control mode for the share:\n\n- `security_group`: The security groups on the virtual network interface for a\n mount target control access to the mount target. Mount targets for this share\n require a virtual network interface.\n- `vpc`: All clients in the VPC for a mount target have access to the mount target.\n Mount targets for this share require a VPC.", "enum": [ "security_group", "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" }, { "description": "The root key to use to wrap the data encryption key for the share.\n\nIf unspecified, the `encryption` type for the share will be `provider_managed`.\n\nThe specified key may be in a different account, subject to IAM policies." } ] }, "initial_owner": { "allOf": [ { "$ref": "#/components/schemas/ShareInitialOwner" }, { "description": "The owner assigned to the file share at creation. Subsequent changes to the owner\nmust be performed by a client that has mounted the file share." } ] }, "iops": { "description": "The maximum input/output operations per second (IOPS) for the file share.\n\nIf the share profile has an `iops.type` of `dependent` or `fixed`, this property is\nsystem-managed and must not be specified. Otherwise, the specified value must be\nwithin the `iops` range of the share profile as supported by the share's specified\nsize.", "example": 100, "format": "int64", "maximum": 9007199254740991, "minimum": 100, "type": "integer" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileIdentity" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use\nfor this file share. The profile must support the share's specified IOPS and size." } ] }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "size": { "description": "The size of the file share (in gigabytes), excluding share snapshots.\n\nThe specified value must be within the permitted `capacity` range of the share's\nprofile and supported by the share's specified IOPS.", "example": 200, "format": "int64", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" } ], "description": "The zone this file share will reside in. For a replica share in the same region as\nthe source share, this must be a different zone from the source share." } }, "required": [ "profile", "size", "zone" ], "type": "object", "title": "ShareBySize" }, "ShareBySizeNot": { "properties": { "source_snapshot": { "$ref": "#/components/schemas/ShareSnapshotIdentity" } }, "required": [ "source_snapshot" ], "type": "object", "title": "ShareBySizeNot" }, "ShareBySourceShare": { "description": "Create a replica file share for an existing file share. The values for\n`access_control_mode`, `encryption_key`, `initial_owner`, and `size` will be inherited\nfrom `source_share`.", "not": { "$ref": "#/components/schemas/ShareBySourceShareNot" }, "properties": { "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" }, { "description": "The root key to use to wrap the data encryption key for the share.\n\nThis property must be specified if the `source_share` is in a different region and has\nan `encryption` type of `user_managed`, and must not be specified otherwise (its value\nwill be inherited from `source_share`)." } ] }, "iops": { "description": "The maximum input/output operations per second (IOPS) for the file share.\n\nIf the share profile has an `iops.type` of `dependent` or `fixed`, this property is\nsystem-managed and must not be specified. Otherwise, the specified value must be\nwithin the `iops` range of the share profile as supported by the share's specified\nsize.", "example": 100, "format": "int64", "maximum": 9007199254740991, "minimum": 100, "type": "integer" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileIdentity" } ], "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use\nfor this file share. The profile must support the share's specified IOPS and size." }, "replication_cron_spec": { "description": "The cron specification for the file share replication schedule.\n\nReplication of a share can be scheduled to occur at most once every 15 minutes.\n\nThe scheduling frequency for this property may\n[increase](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": "0 */5 * * *", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use. If unspecified, the resource group from\nthe source share will be used." } ] }, "source_share": { "allOf": [ { "$ref": "#/components/schemas/ShareIdentity" }, { "description": "The source file share for this replica file share. The specified file share must not\nalready have a replica, and must not be a replica. If source file share is specified\nby CRN, it may be in an [associated partner\nregion](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-replication)" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" } ], "description": "The zone this file share will reside in. For a replica share in the same region as\nthe source share, this must be a different zone from the source share." } }, "required": [ "profile", "replication_cron_spec", "source_share", "zone" ], "type": "object", "title": "ShareBySourceShare" }, "ShareBySourceShareNot": { "properties": { "replica_share": { "$ref": "#/components/schemas/ShareIdentity" } }, "required": [ "replica_share" ], "type": "object", "title": "ShareBySourceShareNot" }, "ShareBySourceSnapshot": { "description": "Create a file share from a source snapshot. The initial value for `access_control_mode`,\nand the zone the file share resides in will be inherited from `source_snapshot`.", "properties": { "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" }, { "description": "The root key to use to wrap the data encryption key for the share.\n\nThe specified key may be in a different account, subject to IAM policies.\n\nIf unspecified, the source snapshot's `encryption_key` will be used." } ] }, "initial_owner": { "allOf": [ { "$ref": "#/components/schemas/ShareInitialOwner" }, { "description": "The owner assigned to the file share at creation. Subsequent changes to the owner\nmust be performed by a client that has mounted the file share." } ] }, "iops": { "description": "The maximum input/output operations per second (IOPS) for the file share.\n\nIf the share profile has an `iops.type` of `dependent` or `fixed`, this property is\nsystem-managed and must not be specified. Otherwise, the specified value must be\nwithin the `iops` range of the share profile as supported by the share's specified\nsize.", "example": 100, "format": "int64", "maximum": 9007199254740991, "minimum": 100, "type": "integer" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileIdentity" } ], "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use\nfor this file share. The profile must support the share's specified IOPS and size." }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "size": { "description": "The size to use for the file share (in gigabytes). The specified value must be at least\nthe snapshot's `minimum_size`, and must be within the `size` range of the share's\nprofile.\n\nIf unspecified, the source snapshot's `minimum_size` will be used.", "example": 200, "format": "int64", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "source_snapshot": { "allOf": [ { "$ref": "#/components/schemas/ShareSourceSnapshotPrototype" }, { "description": "The source snapshot to clone this file share from.\n\nThis file share will reside in the same zone as the specified source snapshot.\nThe snapshot must have the `lifecycle_state` as `stable` and `status` as `available`\nto be able to restore a share for it." } ] } }, "required": [ "profile", "source_snapshot" ], "type": "object", "title": "ShareBySourceSnapshot" }, "ShareCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares?limit=50" }, "limit": 50, "shares": [ { "access_control_mode": "security_group", "accessor_binding_role": "origin", "accessor_bindings": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ce9dac18-dea0-4392-841c-142d3300674f", "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f", "resource_type": "share_accessor_binding" } ], "allowed_transit_encryption_modes": [ "none", "user_managed" ], "created_at": "2025-01-06T22:58:49.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "encryption": "provider_managed", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "initial_owner": { "gid": 50, "uid": 50 }, "iops": 14400, "lifecycle_reasons": [], "lifecycle_state": "stable", "mount_targets": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" } ], "name": "my-share", "profile": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "replication_role": "none", "replication_status": "none", "replication_status_reasons": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share", "size": 4800, "snapshot_count": 10, "snapshot_size": 10, "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "shares": { "description": "A page of file shares", "items": { "$ref": "#/components/schemas/Share" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "shares", "total_count" ], "type": "object", "title": "ShareCollection" }, "ShareFailoverOptions": { "properties": { "fallback_policy": { "default": "split", "description": "The action to take if the failover request is accepted but cannot be performed or\ntimes out:\n- `fail`: Fail the operation, resulting in the replication relationship being unchanged.\n- `split`: Split the replica from its source, resulting in two individual read-write\n file shares. Because the final sync was not completed, the replica may be\n out-of-date. This occurs in disaster recovery scenarios where the source is known to\n be unreachable.", "enum": [ "fail", "split" ], "example": "fail", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "timeout": { "default": 3600, "description": "The failover timeout in seconds.\n\nIf the timeout is reached, the `fallback_policy` will be triggered.", "example": 600, "maximum": 3600, "minimum": 300, "type": "integer" } }, "type": "object", "title": "ShareFailoverOptions" }, "ShareIdentity": { "description": "Identifies a file share by a unique property.", "example": { "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58" }, "oneOf": [ { "$ref": "#/components/schemas/ShareIdentityById" }, { "$ref": "#/components/schemas/ShareIdentityByCRN" }, { "$ref": "#/components/schemas/ShareIdentityByHref" } ], "type": "object", "title": "ShareIdentity" }, "ShareIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this file share", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "ShareIdentityByCRN" }, "ShareIdentityByHref": { "properties": { "href": { "description": "The URL for this file share", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ShareIdentityByHref" }, "ShareIdentityById": { "properties": { "id": { "description": "The unique identifier for this file share", "example": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "ShareIdentityById" }, "ShareInitialOwner": { "example": { "gid": 50, "uid": 50 }, "properties": { "gid": { "default": 0, "description": "The initial group identifier for the file share.", "example": 50, "maximum": 2147483647, "minimum": 0, "type": "integer" }, "uid": { "default": 0, "description": "The initial user identifier for the file share.", "example": 50, "maximum": 2147483647, "minimum": 0, "type": "integer" } }, "type": "object", "title": "ShareInitialOwner" }, "ShareJob": { "properties": { "status": { "description": "The status of the file share job:\n- `cancelled`: This job has been cancelled.\n- `failed`: This job has failed.\n- `queued`: This job is queued.\n- `running`: This job is running.\n- `succeeded`: This job completed successfully.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cancelled", "failed", "queued", "running", "succeeded" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the file share job status (if any).", "items": { "$ref": "#/components/schemas/ShareJobStatusReason" }, "type": "array" }, "type": { "description": "The type of the file share job:\n- `replication_failover`: This is a share replication failover job.\n- `replication_init`: This is a share replication is initialization job.\n- `replication_split`: This is a share replication split job.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "replication_failover", "replication_init", "replication_split" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "status", "status_reasons", "type" ], "type": "object", "title": "ShareJob" }, "ShareJobStatusReason": { "properties": { "code": { "description": "A snake case string succinctly identifying the status reason.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_initialize_replication", "cannot_reach_replica_share", "cannot_reach_source_share" ], "example": "cannot_reach_source_share", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "example": "The replication failover failed because the source share cannot be reached.", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ShareJobStatusReason" }, "ShareLatestSync": { "description": "Information about the latest synchronization for this file share.\n\nThis property will be present when the `replication_role` is `replica` and at least\none replication sync has been completed.", "properties": { "completed_at": { "description": "The completed date and time of last synchronization between the replica share and its\nsource.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "data_transferred": { "description": "The data transferred (in bytes) in the last synchronization between the replica and\nits source.", "minimum": 0, "type": "integer" }, "started_at": { "description": "The start date and time of last synchronization between the replica share and its source.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" } }, "required": [ "completed_at", "data_transferred", "started_at" ], "type": "object", "title": "ShareLatestSync" }, "ShareLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `cloning_failed`: The file share could not be cloned from the snapshot\n (contact IBM support)\n- `cloning_in_progress`: The file share is currently being cloned from the snapshot\n- `internal_error`: internal error (contact IBM support)\n- `origin_share_access_revoked`: The resource has been revoked by the share owner\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cloning_failed", "cloning_in_progress", "internal_error", "origin_share_access_revoked", "resource_suspended_by_provider" ], "example": "cloning_in_progress", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ShareLifecycleReason" }, "ShareMountTarget": { "example": { "access_control_mode": "security_group", "created_at": "2025-01-06T01:59:46.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "lifecycle_state": "stable", "mount_path": "fsf-dal1099a-fz.adn.networklayer.com:/nxg_s_voll_mz0716_a4cc07a3_4425_4adf_aed6_0d7e142bee0c", "name": "my-share-mount-target", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "share_mount_target", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "transit_encryption": "none", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "access_control_mode": { "description": "The access control mode for the share:\n\n- `security_group`: The security groups on the virtual network interface for a mount\n target control access to the mount target.\n- `vpc`: All clients in the VPC for a mount target have access to the mount target.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "security_group", "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that the share mount target was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this share mount target", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this share mount target", "example": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the mount target" } ] }, "mount_path": { "description": "The mount path for the share. The server component of the mount path may be either\nan IP address or a fully qualified domain name.\n\nThis property will be absent if the `lifecycle_state` of the mount target is\n'pending', `failed`, or `deleting`.\n\nIf the share's `access_control_mode` is:\n\n- `security_group`: The IP address used in the mount path is the `primary_ip`\n address of the virtual network interface for this share mount target.\n- `vpc`: The fully-qualified domain name used in the mount path is an address that\n resolves to the share mount target.", "example": "10.240.1.23:/nxg_s_voll_mz7121_58e7e963_8f4b_4a0c_b71a_8ba8d9cd1e2e", "maxLength": 4351, "minLength": 1, "pattern": "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))|([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])(\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9]))*):(\\/|((\\/([^\\/\\0]+(\\/)?))+))$", "type": "string" }, "name": { "description": "The name for this share mount target. The name is unique across all mount targets for\nthe file share.", "example": "my-share-mount-target", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP address of the virtual network interface for the share mount target.\n\nAbsent if `access_control_mode` is `vpc`." } ] }, "resource_type": { "description": "The resource type", "enum": [ "share_mount_target" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The subnet of the virtual network interface for the share mount target.\n\nAbsent if `access_control_mode` is `vpc`." } ] }, "transit_encryption": { "description": "The transit encryption mode for this share mount target:\n- `none`: Not encrypted in transit\n- `user_managed`: Encrypted in transit using an instance identity certificate\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "none", "user_managed" ], "example": "none", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "virtual_network_interface": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfaceReferenceAttachmentContext" }, { "description": "The virtual network interface for this file share mount target.\n\nThis property will be present when the `access_control_mode` is `security_group`." } ] }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "If `access_control_mode` is:\n\n- `security_group`: The VPC for the virtual network interface for this share mount\n target\n- `vpc`: The VPC in which clients can mount the file share using this share\n mount target" } ] } }, "required": [ "access_control_mode", "created_at", "href", "id", "lifecycle_state", "name", "resource_type", "transit_encryption", "vpc" ], "type": "object", "title": "ShareMountTarget" }, "ShareMountTargetByAccessControlModeSecurityGroup": { "description": "The virtual network interface for this share mount target.\nThe virtual network interface must:\n\n- have `allow_ip_spoofing` set to `false`\n- have `enable_infrastructure_nat` set to `true`\n- have `protocol_state_filtering_mode` set to `auto` or `enabled`\n- not be in the same VPC as an existing mount target for this share\n- not have `ips` other than the `primary_ip` address\n\nIf an existing virtual network interface is specified, it must not have a floating IP bound\nto it, and it must not be the target of a flow log collector.\n\nRequired if the share's `access_control_mode` is `security_group`.", "example": { "virtual_network_interface": { "subnet": { "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e" } } }, "properties": { "virtual_network_interface": { "$ref": "#/components/schemas/ShareMountTargetVirtualNetworkInterfacePrototype" } }, "required": [ "virtual_network_interface" ], "type": "object", "title": "ShareMountTargetByAccessControlModeSecurityGroup" }, "ShareMountTargetByAccessControlModeVPC": { "description": "The VPC in which clients can mount the file share using this mount target. The VPC must\nnot be used by another mount target for this share.\n\nRequired if the share's `access_control_mode` is `vpc`.", "example": { "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" } }, "properties": { "vpc": { "$ref": "#/components/schemas/VPCIdentity" } }, "required": [ "vpc" ], "type": "object", "title": "ShareMountTargetByAccessControlModeVPC" }, "ShareMountTargetCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets?limit=50" }, "limit": 50, "mount_targets": [ { "access_control_mode": "security_group", "created_at": "2025-01-06T01:59:46.000Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "lifecycle_state": "stable", "mount_path": "fsf-dal1099a-fz.adn.networklayer.com:/nxg_s_voll_mz0716_a4cc07a3_4425_4adf_aed6_0d7e142bee0c", "name": "my-share-mount-target", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "share_mount_target", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "transit_encryption": "none", "virtual_network_interface": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "mount_targets": { "description": "A page of mount targets for the share", "items": { "$ref": "#/components/schemas/ShareMountTarget" }, "type": "array" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "mount_targets", "total_count" ], "type": "object", "title": "ShareMountTargetCollection" }, "ShareMountTargetPatch": { "properties": { "name": { "description": "The name for this share mount target. The name must not be used by another mount target\nfor the file share.", "example": "my-share-mount-target", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "ShareMountTargetPatch" }, "ShareMountTargetPrototype": { "oneOf": [ { "$ref": "#/components/schemas/ShareMountTargetByAccessControlModeSecurityGroup" }, { "$ref": "#/components/schemas/ShareMountTargetByAccessControlModeVPC" } ], "properties": { "name": { "description": "The name for this share mount target. The name must not be used by another mount target\nfor the file share. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-share-mount-target", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "transit_encryption": { "default": "none", "description": "The transit encryption mode to use for this share mount target:\n- `none`: Not encrypted in transit.\n- `user_managed`: Encrypted in transit using an instance identity certificate. The\n `access_control_mode` for the share must be `security_group`.\n\nThe specified value must be listed in the share's\n`allowed_transit_encryption_modes`.", "enum": [ "none", "user_managed" ], "example": "none", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "ShareMountTargetPrototype" }, "ShareMountTargetReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "id": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "name": "my-share-mount-target", "resource_type": "share_mount_target" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this share mount target", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets/r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this share mount target", "example": "r006-76083f29-e320-4c3f-a1ff-ec479f7249d1", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this share mount target. The name is unique across all mount targets for\nthe file share.", "example": "my-share-mount-target", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "share_mount_target" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "ShareMountTargetReference" }, "ShareMountTargetVirtualNetworkInterfacePrototype": { "oneOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfacePrototypeShareMountTargetContext" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" } ], "type": "object", "x-unevaluatedProperties": false, "title": "ShareMountTargetVirtualNetworkInterfacePrototype" }, "SharePatch": { "properties": { "access_control_mode": { "description": "The access control mode for the share:\n\n- `security_group`: The security groups on the virtual network interface for a\n mount target control access to the mount target.\n- `vpc`: All clients in the VPC for a mount target have access to the mount target.\n\nFor this property to be changed, the share must have no mount targets,\n`replication_role` must be `none` and `accessor_binding_role` must not be `accessor`.", "enum": [ "security_group", "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "allowed_transit_encryption_modes": { "description": "The transit encryption modes to allow for this share\n(replacing the existing allowed transit encryption modes).\nThe specified transit encryption modes must contain all transit_encryption modes\nspecified by existing mount targets.\n\nFor this property to be updated, the `accessor_binding_role` must be `none`.", "items": { "$ref": "#/components/schemas/ShareAllowedTransitEncryptionMode" }, "minItems": 1, "type": "array", "uniqueItems": true }, "iops": { "description": "The maximum input/output operations per second (IOPS) for the file share.\n\nThe maximum IOPS for a share may increase in the future.\nFor this property to be changed, the share `accessor_binding_role` must not\nbe `accessor`, the share profile must not have an `iops.type` of `dependent` or\n`fixed`, and the specified value must be within the `iops` range of the share's\nprofile supported by the share's size.", "example": 100, "format": "int64", "maximum": 9007199254740991, "minimum": 100, "type": "integer" }, "name": { "description": "The name for this share. The name must not be used by another share in the region.", "example": "my-share", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileIdentity" }, { "description": "The profile to use for this file share.\n\nThe requested profile must be in the same `family`." } ] }, "replication_cron_spec": { "description": "The cron specification for the file share replication schedule.\n\nReplication of a share can be scheduled to occur at most once every 15 minutes.\n\nFor this property to be changed, the share `replication_role` must be `replica`.", "example": "0 */5 * * *", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "size": { "description": "The size of the file share (in gigabytes), excluding share snapshots. The value must\nnot be less than the share's current size, and must not exceed the maximum supported\nby the share's profile and IOPS.\n\nFor this property to be changed:\n- The share `lifecycle_state` must be `stable`\n- The share `replication_role` must not be `replica`\n- The share `accessor_binding_role` must not be `accessor`", "format": "int64", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "user_tags": { "description": "The tags for this resource.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "type": "object", "x-unevaluatedProperties": false, "title": "SharePatch" }, "ShareProfile": { "example": { "capacity": { "max": 32000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "iops": { "max": 96000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "dp2", "resource_type": "share_profile" }, "properties": { "capacity": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileCapacity" }, { "description": "The permitted capacity range (in gigabytes) for a share with this profile" } ] }, "family": { "description": "The product family this share profile belongs to.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "defined_performance" ], "example": "defined_performance", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this share profile.", "example": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "iops": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileIOPS" }, { "description": "The permitted IOPS range for a share with this profile" } ] }, "name": { "description": "The globally unique name for this share profile.", "example": "tier-3iops", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "share_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "capacity", "family", "href", "iops", "name", "resource_type" ], "type": "object", "title": "ShareProfile" }, "ShareProfileCapacity": { "example": { "max": 32000, "min": 10, "step": 1, "type": "dependent_range" }, "oneOf": [ { "$ref": "#/components/schemas/ShareProfileCapacityFixed" }, { "$ref": "#/components/schemas/ShareProfileCapacityEnum" }, { "$ref": "#/components/schemas/ShareProfileCapacityRange" }, { "$ref": "#/components/schemas/ShareProfileCapacityDependentRange" } ], "type": "object", "title": "ShareProfileCapacity" }, "ShareProfileCapacityDependentRange": { "description": "The permitted total capacity (in gigabytes) of a share with this profile depends on\nits configuration.", "properties": { "max": { "description": "The maximum value for this profile field.", "example": 16000, "type": "integer" }, "min": { "description": "The minimum value for this profile field.", "example": 10, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "dependent_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "max", "min", "step", "type" ], "type": "object", "title": "ShareProfileCapacityDependentRange" }, "ShareProfileCapacityEnum": { "description": "The permitted total capacities (in gigabytes) of a share with this profile.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 4800, 9600, 16000, 32000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "ShareProfileCapacityEnum" }, "ShareProfileCapacityFixed": { "description": "The permitted total capacity (in gigabytes) of a share with this profile is fixed.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4800, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "ShareProfileCapacityFixed" }, "ShareProfileCapacityRange": { "description": "The permitted total capacity range (in gigabytes) of a share with this profile.", "properties": { "default": { "description": "The default value for this profile field", "example": 1000, "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 9600, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 5, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "ShareProfileCapacityRange" }, "ShareProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles?limit=50" }, "limit": 50, "profiles": [ { "capacity": { "max": 32000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "iops": { "max": 96000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "dp2", "resource_type": "share_profile" } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "profiles": { "description": "A page of share profiles", "items": { "$ref": "#/components/schemas/ShareProfile" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "profiles", "total_count" ], "type": "object", "title": "ShareProfileCollection" }, "ShareProfileIOPS": { "example": { "max": 96000, "min": 100, "step": 1, "type": "dependent_range" }, "oneOf": [ { "$ref": "#/components/schemas/ShareProfileIOPSFixed" }, { "$ref": "#/components/schemas/ShareProfileIOPSRange" }, { "$ref": "#/components/schemas/ShareProfileIOPSEnum" }, { "$ref": "#/components/schemas/ShareProfileIOPSDependentRange" }, { "$ref": "#/components/schemas/ShareProfileIOPSDependent" } ], "type": "object", "title": "ShareProfileIOPS" }, "ShareProfileIOPSDependent": { "description": "The permitted IOPS for a share with this profile depends on its configuration.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "ShareProfileIOPSDependent" }, "ShareProfileIOPSDependentRange": { "description": "The permitted IOPS range of a share with this profile depends on its configuration.", "properties": { "max": { "description": "The maximum value for this profile field.", "example": 48000, "type": "integer" }, "min": { "description": "The minimum value for this profile field.", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "dependent_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "max", "min", "step", "type" ], "type": "object", "title": "ShareProfileIOPSDependentRange" }, "ShareProfileIOPSEnum": { "description": "The permitted IOPS values of a share with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1000, 2000, 4000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "ShareProfileIOPSEnum" }, "ShareProfileIOPSFixed": { "description": "The permitted IOPS of a share with this profile is fixed.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4000, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "ShareProfileIOPSFixed" }, "ShareProfileIOPSRange": { "description": "The permitted IOPS range of a share with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 48000, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "ShareProfileIOPSRange" }, "ShareProfileIdentity": { "description": "Identifies a share profile by a unique property.", "example": { "name": "tier-3iops" }, "oneOf": [ { "$ref": "#/components/schemas/ShareProfileIdentityByName" }, { "$ref": "#/components/schemas/ShareProfileIdentityByHref" } ], "type": "object", "title": "ShareProfileIdentity" }, "ShareProfileIdentityByHref": { "properties": { "href": { "description": "The URL for this share profile.", "example": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ShareProfileIdentityByHref" }, "ShareProfileIdentityByName": { "properties": { "name": { "description": "The globally unique name for this share profile.", "example": "tier-3iops", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "ShareProfileIdentityByName" }, "ShareProfileReference": { "example": { "family": "defined_performance", "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2", "name": "dp2", "resource_type": "share_profile" }, "properties": { "href": { "description": "The URL for this share profile.", "example": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this share profile.", "example": "tier-3iops", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "share_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "name", "resource_type" ], "type": "object", "title": "ShareProfileReference" }, "SharePrototype": { "oneOf": [ { "$ref": "#/components/schemas/ShareBySize" }, { "$ref": "#/components/schemas/ShareBySourceShare" }, { "$ref": "#/components/schemas/ShareByOriginShare" }, { "$ref": "#/components/schemas/ShareBySourceSnapshot" } ], "properties": { "allowed_transit_encryption_modes": { "description": "The transit encryption modes to allow for this share. If unspecified:\n- If share mount targets are specified, and those share mount targets all specify a\n `transit_encryption` of `user_managed`, then only `user_managed` will be allowed.\n- Otherwise, all `transit_encryption` modes will be allowed.", "items": { "$ref": "#/components/schemas/ShareAllowedTransitEncryptionMode" }, "minItems": 1, "type": "array", "uniqueItems": true }, "mount_targets": { "description": "The mount targets for the file share. Each mount target must be in a unique VPC.", "items": { "$ref": "#/components/schemas/ShareMountTargetPrototype" }, "type": "array" }, "name": { "description": "The name for this share. The name must not be used by another share in the region. If\nunspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-share", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "replica_share": { "$ref": "#/components/schemas/SharePrototypeShareContext" }, "user_tags": { "default": [], "description": "The tags for this resource.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "type": "object", "x-unevaluatedProperties": false, "title": "SharePrototype" }, "SharePrototypeShareContext": { "description": "Configuration for a replica file share to create and associate with this file share. If\nunspecified, a replica may be subsequently added by creating a new file share with a\n`source_share` referencing this file share.", "properties": { "allowed_transit_encryption_modes": { "description": "The transit encryption modes to allow for this share. If unspecified:\n- If share mount targets are specified, and those share mount targets all specify a\n `transit_encryption` of `user_managed`, then only `user_managed` will be allowed.\n- Otherwise, all `transit_encryption` modes will be allowed.", "items": { "$ref": "#/components/schemas/ShareAllowedTransitEncryptionMode" }, "minItems": 1, "type": "array", "uniqueItems": true }, "iops": { "description": "The maximum input/output operations per second (IOPS) for the file share.\n\nIf the share profile has an `iops.type` of `dependent` or `fixed`, this property is\nsystem-managed and must not be specified. Otherwise, the specified value must be\nwithin the `iops` range of the share profile as supported by the share's specified\nsize.", "example": 100, "format": "int64", "maximum": 9007199254740991, "minimum": 100, "type": "integer" }, "mount_targets": { "description": "The mount targets for this replica file share. Each mount target must be in a\nunique VPC.\n\nA replica's mount targets must be mounted read-only.", "items": { "$ref": "#/components/schemas/ShareMountTargetPrototype" }, "type": "array" }, "name": { "description": "The name for this share. The name must not be used by another share in the region. If\nunspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-share", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/ShareProfileIdentity" } ], "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use\nfor this file share. The profile must support the share's specified IOPS and size." }, "replication_cron_spec": { "description": "The cron specification for the file share replication schedule.\n\nReplication of a share can be scheduled to occur at most once every 15 minutes.", "example": "0 */5 * * *", "maxLength": 63, "minLength": 9, "pattern": "^(((\\d+,)+\\d+|([\\d\\*]+(\\/|-)\\d+)|\\d+|\\*) ?){5}$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use. If unspecified, the resource group from\nthe source share will be used." } ] }, "user_tags": { "default": [], "description": "The tags for this resource.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" } ], "description": "The zone this replica file share will reside in. For a replica share in the same\nregion as the source share, this must be a different zone from the source share." } }, "required": [ "profile", "replication_cron_spec", "zone" ], "type": "object", "title": "SharePrototypeShareContext" }, "ShareReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "name": "my-share", "resource_type": "share" }, "properties": { "crn": { "description": "The CRN for this file share", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this file share", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this file share", "example": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this share. The name is unique across all shares in the region.", "example": "my-share", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/ShareRemote" }, "resource_type": { "description": "The resource type", "enum": [ "share" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "ShareReference" }, "ShareRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\naccount, and identifies the owning account." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "ShareRemote" }, "ShareReplicationRole": { "description": "The replication role of the file share:\n- `none`: This share is not participating in replication.\n- `replica`: This share is a replication target.\n- `source`: This share is a replication source.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "none", "replica", "source" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ShareReplicationRole" }, "ShareReplicationStatusReason": { "properties": { "code": { "description": "A snake case string succinctly identifying the status reason.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_initialize_replication", "cannot_reach_replica_share", "cannot_reach_source_share" ], "example": "cannot_reach_source_share", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "example": "The replication failover failed because the source share cannot be reached.", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ShareReplicationStatusReason" }, "ShareSnapshot": { "example": { "captured_at": "2025-01-06T01:21:12.000Z", "created_at": "2025-01-06T01:59:46.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "7abc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "stable", "minimum_size": 10, "name": "my-share-snapshot", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "backup_policy_plan": { "allOf": [ { "$ref": "#/components/schemas/BackupPolicyPlanReference" }, { "description": "If present, the backup policy plan which created this share snapshot." } ] }, "captured_at": { "description": "The date and time the data capture for this share snapshot was completed.\n\nIf absent, this snapshot's data has not yet been captured.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "created_at": { "description": "The date and time that the share snapshot was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this share snapshot", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "fingerprint": { "description": "The fingerprint for this share snapshot. Only snapshots with identical data will have\nthe same fingerprint. This snapshot will also be available as a subdirectory named\nidentically to this fingerprint in the share's `.snapshot` directory.", "example": "7abc3aef-c2bc-4f65-a296-2928e534d498", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "href": { "description": "The URL for this share snapshot", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this share snapshot", "example": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/ShareSnapshotLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of this share snapshot\n- `pending`: The share snapshot is being provisioned and is not yet usable. A\n snapshot on a replica share will remain `pending` until the next replication sync\n completes.\n- `deleting`: The share snapshot is being deleted.\n- `failed`: The share snapshot is irrecoverably unusable.\n- `stable`: The share snapshot is stable and ready for use.\n- `updating`: The share snapshot is being updated.\n- `suspended`: The share snapshot is not currently usable (see `lifecycle_reasons`)" } ] }, "minimum_size": { "description": "The minimum size of a share created from this snapshot. When a snapshot is created,\nthis will be set to the size of the `source_share`.", "minimum": 10, "type": "integer" }, "name": { "description": "The name for this share snapshot. The name is unique across all snapshots for\nthe file share.", "example": "my-share-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this share snapshot" } ], "description": "The resource group for this share snapshot." }, "resource_type": { "description": "The resource type", "enum": [ "share_snapshot" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of the share snapshot:\n- `available`: The share snapshot is available for use.\n- `failed`: The share snapshot is irrecoverably unusable.\n- `pending`: The share snapshot is being provisioned and is not yet usable. A\n snapshot on a replica share will remain `pending` until the next replication sync\n completes.\n- `unusable`: The share snapshot is not currently usable (see `status_reasons`)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "failed", "pending", "unusable" ], "example": "available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/ShareSnapshotStatusReason" }, "minItems": 0, "type": "array" }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this share snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this share snapshot resides in." } ] } }, "required": [ "created_at", "crn", "fingerprint", "href", "id", "lifecycle_reasons", "lifecycle_state", "minimum_size", "name", "resource_group", "resource_type", "status", "status_reasons", "user_tags", "zone" ], "type": "object", "title": "ShareSnapshot" }, "ShareSnapshotCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots?limit=50" }, "limit": 50, "snapshots": [ { "captured_at": "2025-01-06T01:21:12.000Z", "created_at": "2025-01-06T01:59:46.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "7abc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "stable", "minimum_size": 10, "name": "my-share-snapshot", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "captured_at": "2025-01-07T11:01:14.000Z", "created_at": "2025-01-07T11:05:23.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-d13ee54f-baa4-40d3-b35c-b9ec163972b4", "fingerprint": "9bbc3aef-c2bc-4f65-a296-2928e534d498", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-d13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-d13ee54f-baa4-40d3-b35c-b9ec163972b4", "lifecycle_reasons": [], "lifecycle_state": "stable", "minimum_size": 10, "name": "my-share-snapshot-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "share_snapshot", "status": "available", "status_reasons": [], "user_tags": [], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snaphots?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "snapshots": { "description": "A page of share snapshots", "items": { "$ref": "#/components/schemas/ShareSnapshot" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "total_count" ], "type": "object", "title": "ShareSnapshotCollection" }, "ShareSnapshotIdentity": { "description": "Identifies a share snapshot by a unique property.", "example": { "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4" }, "oneOf": [ { "$ref": "#/components/schemas/ShareSnapshotIdentityById" }, { "$ref": "#/components/schemas/ShareSnapshotIdentityByCRN" }, { "$ref": "#/components/schemas/ShareSnapshotIdentityByHref" } ], "type": "object", "title": "ShareSnapshotIdentity" }, "ShareSnapshotIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this share snapshot", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "ShareSnapshotIdentityByCRN" }, "ShareSnapshotIdentityByHref": { "properties": { "href": { "description": "The URL for this share snapshot", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ShareSnapshotIdentityByHref" }, "ShareSnapshotIdentityById": { "properties": { "id": { "description": "The unique identifier for this share snapshot", "example": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "ShareSnapshotIdentityById" }, "ShareSnapshotLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ShareSnapshotLifecycleReason" }, "ShareSnapshotPatch": { "properties": { "name": { "description": "The name for this share snapshot. The name must be unique among all snapshots for the\nfile share. For this property to be changed, the share's `replication_role` must not be\n`replica`.", "example": "my-share-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this share snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "type": "object", "title": "ShareSnapshotPatch" }, "ShareSnapshotPrototype": { "properties": { "name": { "description": "The name for this share snapshot. The name must not be used by another snapshot for the\nfile share. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-share-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this share snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "type": "object", "title": "ShareSnapshotPrototype" }, "ShareSnapshotReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "name": "my-share-snapshot", "resource_type": "share_snapshot" }, "properties": { "crn": { "description": "The CRN for this share snapshot", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this share snapshot", "example": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this share snapshot", "example": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this share snapshot. The name is unique across all snapshots for\nthe file share.", "example": "my-share-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "share_snapshot" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "ShareSnapshotReference" }, "ShareSnapshotStatusReason": { "properties": { "code": { "description": "A reason code for the status:\n- `encryption_key_deleted`: Share snapshot is unusable because its\n `encryption_key` was deleted\n- `internal_error`: Internal error (contact IBM support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "encryption_key_deleted" ], "example": "encryption_key_deleted", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "ShareSnapshotStatusReason" }, "ShareSourceSnapshot": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share-snapshot:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "id": "r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4", "name": "my-share-snapshot", "resource_type": "share_snapshot" }, "oneOf": [ { "$ref": "#/components/schemas/ShareSnapshotReference" } ], "type": "object", "title": "ShareSourceSnapshot" }, "ShareSourceSnapshotPrototype": { "oneOf": [ { "$ref": "#/components/schemas/ShareSnapshotIdentity" } ], "type": "object", "title": "ShareSourceSnapshotPrototype" }, "Snapshot": { "example": { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "bootable": true, "captured_at": "2025-01-28T13:44:51Z", "clones": [], "copies": [], "created_at": "2025-01-28T13:42:31Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "deletable": true, "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "minimum_capacity": 100, "name": "my-snapshot", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "progress": 100, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot", "service_tags": [], "size": 1, "source_image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "source_volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "storage_generation": 1, "user_tags": [] }, "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/SnapshotAllowedUse" } ], "description": "The usage constraints to be matched against the requested instance properties to\ndetermine compatibility. While bare metal servers cannot be provisioned from snapshots,\nan image or volume created from this snapshot will inherit its `allowed_use` value.\n\nOnly present on bootable snapshots. The value of this property will be inherited from\nthe source volume or source snapshot at snapshot creation, but can be changed." }, "backup_policy_plan": { "allOf": [ { "$ref": "#/components/schemas/BackupPolicyPlanReference" }, { "description": "If present, the backup policy plan which created this snapshot." } ] }, "bootable": { "description": "Indicates if a boot volume attachment can be created with a volume created from this\nsnapshot.", "type": "boolean" }, "captured_at": { "description": "The date and time the data capture for this snapshot was completed.\n\nIf absent, this snapshot's data has not yet been captured. Additionally, this property\nmay be absent for snapshots created before 1 January 2022.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "catalog_offering": { "allOf": [ { "$ref": "#/components/schemas/SnapshotCatalogOffering" }, { "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering inherited from the snapshot's source. If a virtual server instance is\nprovisioned with a `source_snapshot` specifying this snapshot, the virtual server\ninstance will use this snapshot's catalog offering, including its pricing plan.\n\nIf absent, this snapshot is not associated with a catalog offering." } ] }, "clones": { "description": "The clones for this snapshot", "items": { "$ref": "#/components/schemas/SnapshotClone" }, "type": "array" }, "copies": { "description": "The copies of this snapshot.", "items": { "allOf": [ { "$ref": "#/components/schemas/SnapshotReference" } ], "properties": { "crn": { "description": "The CRN for the copied snapshot." }, "href": { "description": "The URL for the copied snapshot." }, "id": { "description": "The unique identifier for the copied snapshot." }, "name": { "description": "The name for the copied snapshot." } } }, "type": "array" }, "created_at": { "description": "The date and time that this snapshot was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN of this snapshot", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deletable": { "deprecated": true, "description": "Indicates whether this snapshot can be deleted. This value will always be `true`.", "type": "boolean" }, "encryption": { "description": "The type of encryption used on the source volume", "enum": [ "provider_managed", "user_managed" ], "example": "provider_managed", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyReference" } ], "description": "The root key used to wrap the data encryption key for the source volume.\n\nThis property will be present for volumes with an `encryption` type of\n`user_managed`." }, "href": { "description": "The URL for this snapshot", "example": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this snapshot", "example": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/SnapshotLifecycleState" } ], "description": "The lifecycle state of this snapshot" }, "minimum_capacity": { "description": "The minimum capacity of a volume created from this snapshot. When a snapshot is created,\nthis will be set to the capacity of the `source_volume`.", "minimum": 1, "type": "integer" }, "name": { "description": "The name for this snapshot. The name is unique across all snapshots in the region.", "example": "my-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "operating_system": { "allOf": [ { "$ref": "#/components/schemas/OperatingSystem" } ], "description": "The operating system included in this snapshot." }, "progress": { "description": "Indicates the progress (as a percentage) of storing this snapshot.\nOnly stored snapshots can be used for restoration.", "example": 55, "maximum": 100, "minimum": 0, "type": "integer" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this snapshot" } ] }, "resource_type": { "description": "The resource type", "enum": [ "snapshot" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "service_tags": { "description": "The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nprefixed with `is.snapshot:` associated with this snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "size": { "description": "The size of this snapshot rounded up to the next gigabyte", "minimum": 1, "type": "integer" }, "snapshot_consistency_group": { "allOf": [ { "$ref": "#/components/schemas/SnapshotConsistencyGroupReference" }, { "description": "If present, the snapshot consistency group which created this snapshot." } ] }, "source_image": { "allOf": [ { "$ref": "#/components/schemas/ImageReference" } ], "description": "If present, the image from which the data on this snapshot was most directly\nprovisioned." }, "source_snapshot": { "allOf": [ { "$ref": "#/components/schemas/SnapshotReference" }, { "properties": { "crn": { "description": "The CRN of the source snapshot." }, "href": { "description": "The URL for the source snapshot." }, "id": { "description": "The unique identifier for the source snapshot." }, "name": { "description": "The name for the source snapshot. The name is unique across all snapshots in the\nsource snapshot's native region." } } } ], "description": "If present, the source snapshot this snapshot was created from." }, "source_volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeReference" } ], "description": "The source volume this snapshot was created from (may be\n[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources))." }, "storage_generation": { "description": "The [storage\ngeneration](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api#using-api-iops-profiles):\n- `1`: The first storage generation\n- `2`: The second storage generation\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ 1, 2 ], "example": 1, "type": "integer" }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "required": [ "bootable", "clones", "copies", "created_at", "crn", "deletable", "encryption", "href", "id", "lifecycle_state", "minimum_capacity", "name", "progress", "resource_group", "resource_type", "service_tags", "size", "source_volume", "storage_generation", "user_tags" ], "type": "object", "title": "Snapshot" }, "SnapshotAllowedUse": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using the image data in this snapshot.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server instance\nprovisioned using this snapshot.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "required": [ "api_version", "bare_metal_server", "instance" ], "type": "object", "title": "SnapshotAllowedUse" }, "SnapshotAllowedUsePatch": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.\n\nIf specified, the value must be between `2019-01-01` and today's date (in UTC).", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using the image data in this snapshot.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server instance\nprovisioned using this snapshot.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "type": "object", "title": "SnapshotAllowedUsePatch" }, "SnapshotAllowedUsePrototype": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.\n\nIf specified, the value must be between `2019-01-01` and today's date (in UTC).\nIf unspecified, the `version` query parameter value will be used.", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using the image data in this snapshot.\n\nIf unspecified, the expression will be set to `true`.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server instance\nprovisioned using this snapshot.\n\nIf unspecified, the expression will be set to `true`.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "type": "object", "title": "SnapshotAllowedUsePrototype" }, "SnapshotBySourceSnapshot": { "properties": { "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" } ], "description": "The root key to use to wrap the data encryption key for this snapshot.\n\nA key must be specified if and only if the source snapshot has an `encryption` type of\n`user_managed`. To maximize snapshot availability and sharing of snapshot data, specify\na key in the same region as the new snapshot, and use the same encryption key for all\nsnapshots using the same source volume.\n\nThe specified key may be in a different account, subject to IAM policies." }, "source_snapshot": { "allOf": [ { "$ref": "#/components/schemas/SnapshotIdentityByCRN" } ], "description": "The source snapshot (in another region) to create this snapshot from.\nThe specified snapshot must not already be the source of another snapshot in this\nregion." } }, "required": [ "source_snapshot" ], "type": "object", "title": "SnapshotBySourceSnapshot" }, "SnapshotBySourceVolume": { "properties": { "source_volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeIdentity" } ], "description": "The volume to create this snapshot from." } }, "required": [ "source_volume" ], "type": "object", "title": "SnapshotBySourceVolume" }, "SnapshotCatalogOffering": { "properties": { "plan": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionPlanReference" } ], "description": "The billing plan associated with the catalog offering version.\n\nIf absent, no billing plan is associated with the catalog offering version\n(free)." }, "version": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionReference" } ], "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering version contained in this snapshot." } }, "required": [ "version" ], "type": "object", "title": "SnapshotCatalogOffering" }, "SnapshotClone": { "example": { "available": true, "created_at": "2025-01-23T20:23:12.000Z", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "available": { "description": "Indicates whether this snapshot clone is available for use.", "type": "boolean" }, "created_at": { "description": "The date and time that this snapshot clone was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this snapshot clone resides in." } ] } }, "required": [ "available", "created_at", "zone" ], "type": "object", "title": "SnapshotClone" }, "SnapshotCloneCollection": { "example": { "clones": [ { "available": true, "created_at": "2025-01-23T20:23:12.000Z", "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ] }, "properties": { "clones": { "description": "The clones for the snapshot", "items": { "$ref": "#/components/schemas/SnapshotClone" }, "type": "array" } }, "required": [ "clones" ], "type": "object", "title": "SnapshotCloneCollection" }, "SnapshotClonePrototype": { "properties": { "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this snapshot clone will reside in. Must be in the same region as the\nsnapshot." } ] } }, "required": [ "zone" ], "type": "object", "title": "SnapshotClonePrototype" }, "SnapshotCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots?limit=50" }, "limit": 50, "snapshots": [ { "allowed_use": { "api_version": "2025-03-31", "bare_metal_server": "false", "instance": "gpu.count > 0" }, "bootable": true, "captured_at": "2025-01-28T13:44:51Z", "clones": [], "copies": [], "created_at": "2025-01-28T13:42:31Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "deletable": true, "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "minimum_capacity": 100, "name": "my-snapshot", "operating_system": { "allow_user_image_creation": true, "architecture": "amd64", "dedicated_host_only": false, "display_name": "Ubuntu Linux 24.04 LTS Noble Numbat Minimal Install (amd64)", "family": "Ubuntu Linux", "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-24-04-amd64", "name": "ubuntu-24-04-amd64", "user_data_format": "cloud_init", "vendor": "Canonical", "version": "24.04 LTS Noble Numbat Minimal Install" }, "progress": 100, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot", "service_tags": [], "size": 1, "source_image": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8", "name": "my-image", "resource_type": "image" }, "source_volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "storage_generation": 1, "user_tags": [] } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "snapshots": { "description": "A page of snapshots", "items": { "$ref": "#/components/schemas/Snapshot" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "snapshots", "total_count" ], "type": "object", "title": "SnapshotCollection" }, "SnapshotConsistencyGroup": { "example": { "created_at": "2025-01-06T20:18:18Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "delete_snapshots_on_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "name": "my-snapshot-consistency-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot_consistency_group", "service_tags": [], "snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "name": "my-group-1-snapshot-1", "resource_type": "snapshot" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "id": "r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "name": "my-group-1-snapshot-2", "resource_type": "snapshot" } ] }, "properties": { "backup_policy_plan": { "allOf": [ { "$ref": "#/components/schemas/BackupPolicyPlanReference" }, { "description": "If present, the backup policy plan which created this snapshot consistency group." } ] }, "created_at": { "description": "The date and time that this snapshot consistency group was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN of this snapshot consistency group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "delete_snapshots_on_delete": { "description": "Indicates whether deleting the snapshot consistency group will also delete the\nsnapshots in the group.", "type": "boolean" }, "href": { "description": "The URL for this snapshot consistency group", "example": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this snapshot consistency group", "example": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" } ], "description": "The lifecycle state of this snapshot consistency group" }, "name": { "description": "The name for this snapshot consistency group. The name is unique across all snapshot\nconsistency groups in the region.", "example": "my-snapshot-consistency-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this snapshot consistency group." } ] }, "resource_type": { "description": "The resource type", "enum": [ "snapshot_consistency_group" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "service_tags": { "description": "The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this snapshot consistency group. Each tag is prefixed with\n[is.instance:](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs).", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "snapshots": { "description": "The member snapshots that are data-consistent with respect to captured time. (may be\n[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).", "items": { "$ref": "#/components/schemas/SnapshotReference" }, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "created_at", "crn", "delete_snapshots_on_delete", "href", "id", "lifecycle_state", "name", "resource_group", "resource_type", "service_tags", "snapshots" ], "type": "object", "title": "SnapshotConsistencyGroup" }, "SnapshotConsistencyGroupBySnapshots": { "properties": { "snapshots": { "description": "The data-consistent member snapshots to create. All snapshots must specify a\n`source_volume` attached to the same virtual server instance.", "items": { "$ref": "#/components/schemas/SnapshotPrototypeSnapshotConsistencyGroupContext" }, "minItems": 1, "type": "array" } }, "required": [ "snapshots" ], "type": "object", "title": "SnapshotConsistencyGroupBySnapshots" }, "SnapshotConsistencyGroupCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups?limit=50" }, "limit": 50, "snapshot_consistency_groups": [ { "created_at": "2025-01-06T20:18:18Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "delete_snapshots_on_delete": true, "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "lifecycle_state": "stable", "name": "my-snapshot-consistency-group", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "snapshot_consistency_group", "service_tags": [], "snapshots": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6", "name": "my-group-1-snapshot-1", "resource_type": "snapshot" }, { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "id": "r006-c8cc2ade-6c78-409b-8ed8-da8a44c00509", "name": "my-group-1-snapshot-2", "resource_type": "snapshot" } ] } ], "total_count": 1 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "snapshot_consistency_groups": { "description": "A page of snapshot consistency groups", "items": { "$ref": "#/components/schemas/SnapshotConsistencyGroup" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "snapshot_consistency_groups", "total_count" ], "type": "object", "title": "SnapshotConsistencyGroupCollection" }, "SnapshotConsistencyGroupPatch": { "properties": { "delete_snapshots_on_delete": { "description": "Indicates whether deleting the snapshot consistency group will also delete the\nsnapshots in the group.", "type": "boolean" }, "name": { "description": "The name for this snapshot consistency group. The name must not be used by another\nsnapshot consistency groups in the region.", "example": "my-snapshot-consistency-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "SnapshotConsistencyGroupPatch" }, "SnapshotConsistencyGroupPrototype": { "oneOf": [ { "$ref": "#/components/schemas/SnapshotConsistencyGroupBySnapshots" } ], "properties": { "delete_snapshots_on_delete": { "default": true, "description": "Indicates whether deleting the snapshot consistency group will also delete the\nsnapshots in the group.", "type": "boolean" }, "name": { "description": "The name for this snapshot consistency group. The name must be unique across all snapshot\nconsistency groups in the region.\n\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-snapshot-consistency-group", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "type": "object", "title": "SnapshotConsistencyGroupPrototype" }, "SnapshotConsistencyGroupReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "id": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "name": "my-snapshot-consistency-group", "resource_type": "snapshot_consistency_group" }, "properties": { "crn": { "description": "The CRN of this snapshot consistency group", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this snapshot consistency group", "example": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this snapshot consistency group", "example": "r006-fa329f6b-0e36-433f-a3bb-0df632e79263", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this snapshot consistency group. The name is unique across all snapshot\nconsistency groups in the region.", "example": "my-snapshot-consistency-group", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "snapshot_consistency_group" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "SnapshotConsistencyGroupReference" }, "SnapshotIdentity": { "description": "Identifies a snapshot by a unique property.", "example": { "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263" }, "oneOf": [ { "$ref": "#/components/schemas/SnapshotIdentityById" }, { "$ref": "#/components/schemas/SnapshotIdentityByCRN" }, { "$ref": "#/components/schemas/SnapshotIdentityByHref" } ], "type": "object", "title": "SnapshotIdentity" }, "SnapshotIdentityByCRN": { "properties": { "crn": { "description": "The CRN of this snapshot", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "SnapshotIdentityByCRN" }, "SnapshotIdentityByHref": { "properties": { "href": { "description": "The URL for this snapshot", "example": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "SnapshotIdentityByHref" }, "SnapshotIdentityById": { "properties": { "id": { "description": "The unique identifier for this snapshot", "example": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "SnapshotIdentityById" }, "SnapshotInstanceProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/{id}/instance_profiles?limit=50" }, "instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-2x8", "name": "bx2-2x8", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-8x32", "name": "bx2-8x32", "resource_type": "instance_profile" } ], "limit": 50, "total_count": 3 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/{id}/instance_profiles?limit=20" } }, "instance_profiles": { "description": "A page of instance profiles compatible with the snapshot", "items": { "$ref": "#/components/schemas/InstanceProfileReference" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "instance_profiles", "limit", "total_count" ], "type": "object", "title": "SnapshotInstanceProfileCollection" }, "SnapshotLifecycleState": { "enum": [ "deleting", "failed", "pending", "stable", "suspended", "unusable", "updating", "waiting" ], "example": "stable", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "SnapshotLifecycleState" }, "SnapshotPatch": { "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/SnapshotAllowedUsePatch" } ], "description": "The usage constraints to be matched against the requested instance properties to\ndetermine compatibility. While bare metal servers cannot be provisioned from snapshots,\nan image or volume created from this snapshot will inherit its `allowed_use` value.\n\nCan only be specified for bootable snapshots." }, "name": { "description": "The name for this snapshot. The name must not be used by another snapshot in the\nregion.", "example": "my-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "type": "object", "title": "SnapshotPatch" }, "SnapshotPrototype": { "oneOf": [ { "$ref": "#/components/schemas/SnapshotBySourceVolume" }, { "$ref": "#/components/schemas/SnapshotBySourceSnapshot" } ], "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/SnapshotAllowedUsePrototype" } ], "description": "The usage constraints to match against the requested instance or bare metal server\nproperties to determine compatibility.\n\nCan only be specified for bootable snapshots." }, "clones": { "description": "The clones to create for this snapshot", "items": { "$ref": "#/components/schemas/SnapshotClonePrototype" }, "type": "array", "uniqueItems": true }, "name": { "description": "The name for this snapshot. The name must not be used by another snapshot in the region.\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "user_tags": { "default": [], "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "type": "object", "title": "SnapshotPrototype" }, "SnapshotPrototypeSnapshotConsistencyGroupContext": { "properties": { "name": { "description": "The name for this snapshot. The name must not be used by another snapshot in the region.\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "source_volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeIdentity" } ], "description": "The volume to create this snapshot from." }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this snapshot.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "required": [ "source_volume" ], "type": "object", "title": "SnapshotPrototypeSnapshotConsistencyGroupContext" }, "SnapshotReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "name": "my-snapshot", "resource_type": "snapshot" }, "properties": { "crn": { "description": "The CRN of this snapshot", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this snapshot", "example": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this snapshot", "example": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this snapshot. The name is unique across all snapshots in the region.", "example": "my-snapshot", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/SnapshotRemote" }, "resource_type": { "description": "The resource type", "enum": [ "snapshot" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "SnapshotReference" }, "SnapshotRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\naccount, and identifies the owning account." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "SnapshotRemote" }, "Subnet": { "example": { "available_ipv4_address_count": 251, "created_at": "2019-01-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "name": "my-subnet", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "available_ipv4_address_count": { "description": "The number of IPv4 addresses in this subnet that are not in-use, and have not been\nreserved by the user or the provider.", "example": 15, "format": "int64", "type": "integer" }, "created_at": { "description": "The date and time that the subnet was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this subnet", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this subnet", "example": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this subnet", "example": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ip_version": { "description": "The IP version(s) supported by this subnet", "enum": [ "ipv4" ], "example": "ipv4", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ipv4_cidr_block": { "description": "The IPv4 range of the subnet, expressed in CIDR format", "example": "10.0.0.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "name": { "description": "The name for this subnet. The name is unique across all subnets in the VPC.", "example": "my-subnet", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "network_acl": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLReference" }, { "description": "The network ACL for this subnet" } ] }, "public_gateway": { "allOf": [ { "$ref": "#/components/schemas/PublicGatewayReference" }, { "description": "The public gateway to use for internet-bound traffic for this subnet." } ] }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this subnet" } ] }, "resource_type": { "description": "The resource type", "enum": [ "subnet" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "routing_table": { "allOf": [ { "$ref": "#/components/schemas/RoutingTableReference" } ], "description": "The routing table for this subnet" }, "status": { "description": "The status of the subnet.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "deleting", "failed", "pending" ], "example": "available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "total_ipv4_address_count": { "description": "The total number of IPv4 addresses in this subnet.\n\nNote: This is calculated as 2(32 - prefix length). For example, the\nprefix length `/24` gives:
\n2(32 - 24) = 28 = 256 addresses.", "example": 256, "format": "int64", "type": "integer" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this subnet resides in" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this subnet resides in" } ] } }, "required": [ "available_ipv4_address_count", "created_at", "crn", "href", "id", "ip_version", "ipv4_cidr_block", "name", "network_acl", "resource_group", "resource_type", "routing_table", "status", "total_ipv4_address_count", "vpc", "zone" ], "type": "object", "title": "Subnet" }, "SubnetByCIDR": { "properties": { "ipv4_cidr_block": { "description": "The IPv4 range of the subnet, expressed in CIDR format. The prefix length of the\nsubnet's CIDR must be between `/9` (8,388,608 addresses) and `/29` (8 addresses).\nThe IPv4 range of the subnet's CIDR must fall within an existing address prefix in\nthe VPC and must not overlap with any existing subnet. The subnet will be created in\nthe zone of the address prefix that contains the IPv4 CIDR. If zone is specified, it\nmust match the zone of the address prefix that contains the subnet's IPv4 CIDR.", "example": "10.0.0.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this subnet will reside in" } ] } }, "required": [ "ipv4_cidr_block" ], "type": "object", "title": "SubnetByCIDR" }, "SubnetByTotalCount": { "properties": { "total_ipv4_address_count": { "description": "The total number of IPv4 addresses required. Must be a power of 2. The VPC must\nhave a default address prefix in the specified zone, and that prefix must have a\nfree CIDR range with at least this number of addresses.", "example": 256, "format": "int64", "maximum": 8388608, "minimum": 8, "type": "integer" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this subnet will reside in" } ] } }, "required": [ "total_ipv4_address_count", "zone" ], "type": "object", "title": "SubnetByTotalCount" }, "SubnetCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets?limit=20" }, "limit": 20, "subnets": [ { "available_ipv4_address_count": 251, "created_at": "2019-01-28T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.1.0/24", "name": "my-subnet", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "available_ipv4_address_count": 251, "created_at": "2019-01-29T11:59:46Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ip_version": "ipv4", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "subnet", "routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "status": "available", "total_ipv4_address_count": 256, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "subnets": { "description": "A page of subnets", "items": { "$ref": "#/components/schemas/Subnet" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "subnets", "total_count" ], "type": "object", "title": "SubnetCollection" }, "SubnetIdentity": { "description": "Identifies a subnet by a unique property.", "example": { "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e" }, "oneOf": [ { "$ref": "#/components/schemas/SubnetIdentityById" }, { "$ref": "#/components/schemas/SubnetIdentityByCRN" }, { "$ref": "#/components/schemas/SubnetIdentityByHref" } ], "type": "object", "title": "SubnetIdentity" }, "SubnetIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this subnet", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "SubnetIdentityByCRN" }, "SubnetIdentityByHref": { "properties": { "href": { "description": "The URL for this subnet", "example": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "SubnetIdentityByHref" }, "SubnetIdentityById": { "properties": { "id": { "description": "The unique identifier for this subnet", "example": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "SubnetIdentityById" }, "SubnetPatch": { "properties": { "name": { "description": "The name for this subnet. The name must not be used by another subnet in the VPC.", "example": "my-subnet", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "network_acl": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLIdentity" }, { "description": "The network ACL to use for this subnet." } ] }, "public_gateway": { "$ref": "#/components/schemas/SubnetPublicGatewayPatch" }, "routing_table": { "allOf": [ { "$ref": "#/components/schemas/RoutingTableIdentity" } ], "description": "The routing table to use for this subnet. The routing table properties\n`route_direct_link_ingress`, `route_internet_ingress`,\n`route_transit_gateway_ingress`, and `route_vpc_zone_ingress` must be `false`." } }, "type": "object", "title": "SubnetPatch" }, "SubnetPrototype": { "oneOf": [ { "$ref": "#/components/schemas/SubnetByTotalCount" }, { "$ref": "#/components/schemas/SubnetByCIDR" } ], "properties": { "ip_version": { "default": "ipv4", "description": "The IP version(s) to support for this subnet.", "enum": [ "ipv4" ], "example": "ipv4", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "name": { "description": "The name for this subnet. The name must not be used by another subnet in the VPC.\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-subnet", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "network_acl": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLIdentity" }, { "description": "The network ACL to use for this subnet." } ], "description": "The network ACL to use for this subnet. If unspecified, the default network ACL for\nthe VPC is used" }, "public_gateway": { "allOf": [ { "$ref": "#/components/schemas/PublicGatewayIdentity" }, { "description": "The public gateway to use for internet-bound traffic for this subnet. If\nunspecified, the subnet will not be attached to a public gateway." } ] }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "routing_table": { "allOf": [ { "$ref": "#/components/schemas/RoutingTableIdentity" } ], "description": "The routing table to use for this subnet. If unspecified, the default routing table\nfor the VPC is used. The routing table properties `route_direct_link_ingress`,\n`route_internet_ingress`, `route_transit_gateway_ingress`, and\n`route_vpc_zone_ingress` must be `false`." }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" }, { "description": "The VPC the subnet will reside in" } ] } }, "required": [ "vpc" ], "type": "object", "title": "SubnetPrototype" }, "SubnetPublicGatewayPatch": { "description": "The public gateway to use for internet-bound traffic for this subnet.", "example": { "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241" }, "oneOf": [ { "$ref": "#/components/schemas/PublicGatewayIdentityById" }, { "$ref": "#/components/schemas/PublicGatewayIdentityByCRN" }, { "$ref": "#/components/schemas/PublicGatewayIdentityByHref" } ], "type": "object", "title": "SubnetPublicGatewayPatch" }, "SubnetReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "properties": { "crn": { "description": "The CRN for this subnet", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this subnet", "example": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this subnet", "example": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this subnet. The name is unique across all subnets in the VPC.", "example": "my-subnet", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "subnet" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "SubnetReference" }, "TCPUDPPort": { "example": 22, "maximum": 65535, "minimum": 1, "type": "integer", "title": "TCPUDPPort" }, "Tag": { "description": "A tag for this resource.", "maxLength": 128, "minLength": 1, "pattern": "^[A-Za-z0-9:_ .-]+$", "type": "string", "title": "Tag" }, "TrustedProfileIdentity": { "description": "Identifies a trusted profile by a unique property.", "example": { "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5" }, "oneOf": [ { "$ref": "#/components/schemas/TrustedProfileIdentityById" }, { "$ref": "#/components/schemas/TrustedProfileIdentityByCRN" } ], "type": "object", "title": "TrustedProfileIdentity" }, "TrustedProfileIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this trusted profile", "example": "crn:v1:bluemix:public:iam-identity::a/aa2432b1fa4d4ace891e9b80fc104e34::profile:Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "TrustedProfileIdentityByCRN" }, "TrustedProfileIdentityById": { "properties": { "id": { "description": "The unique identifier for this trusted profile", "example": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "maxLength": 64, "minLength": 10, "pattern": "^Profile-[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "TrustedProfileIdentityById" }, "TrustedProfileReference": { "example": { "crn": "crn:v1:bluemix:public:iam-identity::a/aa2432b1fa4d4ace891e9b80fc104e34::profile:Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "resource_type": "trusted_profile" }, "properties": { "crn": { "description": "The CRN for this trusted profile", "example": "crn:v1:bluemix:public:iam-identity::a/aa2432b1fa4d4ace891e9b80fc104e34::profile:Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "id": { "description": "The unique identifier for this trusted profile", "example": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5", "maxLength": 64, "minLength": 10, "pattern": "^Profile-[-0-9a-z_]+$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "trusted_profile" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "id", "resource_type" ], "type": "object", "title": "TrustedProfileReference" }, "UnicastIP": { "properties": { "address": { "allOf": [ { "$ref": "#/components/schemas/UnicastIPv4" } ], "description": "A unicast IP address, which must not be any of the following values:\n\n- `0.0.0.0` (the sentinel IP address)\n- `224.0.0.0` to `239.255.255.255` (multicast IP addresses)\n- `255.255.255.255` (the broadcast IP address)\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses in the future." } }, "required": [ "address" ], "type": "object", "title": "UnicastIP" }, "UnicastIPv4": { "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(?!(0(\\.0){3})|(255(\\.255){3})|(22[4-9]|23[0-9](\\.[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]){3}))([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}$", "type": "string", "title": "UnicastIPv4" }, "VCPU": { "description": "The VCPU configuration", "example": { "architecture": "amd64", "count": 56, "manufacturer": "intel" }, "properties": { "architecture": { "description": "The VCPU architecture.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "amd64", "s390x" ], "example": "amd64", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "count": { "description": "The number of VCPUs assigned", "example": 4, "minimum": 1, "type": "integer" }, "manufacturer": { "$ref": "#/components/schemas/VCPUManufacturer" } }, "required": [ "architecture", "count", "manufacturer" ], "type": "object", "title": "VCPU" }, "VCPUManufacturer": { "description": "The VCPU manufacturer.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "amd", "ibm", "intel" ], "example": "intel", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "VCPUManufacturer" }, "VPC": { "example": { "classic_access": false, "created_at": "2019-01-27T14:39:40Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "public_address_ranges": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" }, "properties": { "classic_access": { "description": "Indicates whether this VPC is connected to Classic Infrastructure. If true, this VPC's\nresources have private network connectivity to the account's Classic Infrastructure\nresources. Only one VPC, per region, may be connected in this way. This value is set\nat creation and subsequently immutable.", "example": false, "type": "boolean" }, "created_at": { "description": "The date and time that the VPC was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this VPC", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "cse_source_ips": { "description": "The CSE ([Cloud Service\nEndpoint](https://cloud.ibm.com/docs/account?topic=account-service-endpoints-overview))\nsource IP addresses for the VPC. The VPC will have at least one CSE source IP address\nper zone.\n\nThe maximum number of items for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "items": { "$ref": "#/components/schemas/VPCCSESourceIP" }, "maxItems": 25, "minItems": 3, "type": "array" }, "default_network_acl": { "allOf": [ { "$ref": "#/components/schemas/NetworkACLReference" }, { "description": "The default network ACL to use for subnets created in this VPC." } ] }, "default_routing_table": { "allOf": [ { "$ref": "#/components/schemas/RoutingTableReference" }, { "description": "The default routing table to use for subnets created in this VPC." } ] }, "default_security_group": { "allOf": [ { "$ref": "#/components/schemas/SecurityGroupReference" }, { "description": "The default security group for this VPC. Resources created in this VPC that allow\na security group to be optionally specified will use this security group by\ndefault." } ] }, "dns": { "$ref": "#/components/schemas/VPCDNS" }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/VPCHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this VPC", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPC", "example": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this VPC. The name is unique across all VPCs in the region.", "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "public_address_ranges": { "description": "The public address ranges attached to this VPC.", "items": { "$ref": "#/components/schemas/PublicAddressRangeReference" }, "minItems": 0, "type": "array", "uniqueItems": true }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this VPC" } ] }, "resource_type": { "description": "The resource type", "enum": [ "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of this VPC.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "deleting", "failed", "pending" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "classic_access", "created_at", "crn", "default_network_acl", "default_routing_table", "default_security_group", "dns", "health_reasons", "health_state", "href", "id", "name", "public_address_ranges", "resource_group", "resource_type", "status" ], "type": "object", "title": "VPC" }, "VPCCSESourceIP": { "properties": { "ip": { "allOf": [ { "$ref": "#/components/schemas/IP" }, { "description": "A cloud service endpoint source IP address for this zone" } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this cloud service endpoint source IP resides in" } ] } }, "required": [ "ip", "zone" ], "type": "object", "title": "VPCCSESourceIP" }, "VPCCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs?limit=20" }, "limit": 20, "total_count": 2, "vpcs": [ { "classic_access": false, "created_at": "2019-01-27T14:39:40Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "public_address_ranges": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" }, { "classic_access": false, "created_at": "2019-01-27T15:40:41Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c", "default_network_acl": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-699c2624-29f3-4edf-b29c-4193ce52cfad", "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-699c2624-29f3-4edf-b29c-4193ce52cfad", "id": "r006-699c2624-29f3-4edf-b29c-4193ce52cfad", "name": "my-network-acl" }, "default_routing_table": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc-routing-table:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/r006-6885e83f-03b2-4603-8a86-db2a0f55c840", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c/routing_tables/r006-cdc00ecf-0886-4ae0-82ef-b64c06a4856b", "id": "r006-cdc00ecf-0886-4ae0-82ef-b64c06a4856b", "name": "my-routing-table", "resource_type": "routing_table" }, "default_security_group": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-35e4a234-12d5-4446-a8f9-96eb8cb763bb", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-35e4a234-12d5-4446-a8f9-96eb8cb763bb", "id": "r006-35e4a234-12d5-4446-a8f9-96eb8cb763bb", "name": "my-security-group" }, "dns": { "enable_hub": false, "resolution_binding_count": 0, "resolver": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" } }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c", "id": "r006-5ea1da83-7b29-4fd2-912a-501a1b508b7c", "name": "my-vpc-2", "public_address_ranges": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::public-address-range:r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges/r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "id": "r006-a4841334-b584-4293-938e-3bc63b4a5b6a", "name": "my-public-address-range", "resource_type": "public_address_range" } ], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpc", "status": "available" } ] }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" }, "vpcs": { "description": "A page of VPCs", "items": { "$ref": "#/components/schemas/VPC" }, "type": "array" } }, "required": [ "first", "limit", "total_count", "vpcs" ], "type": "object", "title": "VPCCollection" }, "VPCDNS": { "description": "The DNS configuration for this VPC.", "properties": { "enable_hub": { "description": "Indicates whether this VPC is enabled as a DNS name resolution hub.", "type": "boolean" }, "resolution_binding_count": { "description": "The number of DNS resolution bindings for this VPC.", "minimum": 0, "type": "integer" }, "resolver": { "allOf": [ { "$ref": "#/components/schemas/VPCDNSResolver" }, { "description": "The DNS resolver configuration for the VPC." } ] } }, "required": [ "enable_hub", "resolution_binding_count", "resolver" ], "type": "object", "title": "VPCDNS" }, "VPCDNSPatch": { "description": "The DNS configuration for this VPC.", "properties": { "enable_hub": { "description": "Indicates whether this VPC is enabled as a DNS name resolution hub.\n\nUpdating the value to `true` requires `allow_dns_resolution_binding` to be `true` for\nall endpoint gateways residing in this VPC.\n\nChanging the value requires `dns.resolution_binding_count` to be zero.", "type": "boolean" }, "resolver": { "$ref": "#/components/schemas/VPCDNSResolverPatch" } }, "type": "object", "title": "VPCDNSPatch" }, "VPCDNSPrototype": { "description": "The DNS configuration for this VPC.\n\nIf unspecified, the system will assign DNS servers capable of resolving hosts and endpoint\ngateways within this VPC, and hosts on the internet.", "properties": { "enable_hub": { "default": false, "description": "Indicates whether this VPC is enabled as a DNS name resolution hub.", "type": "boolean" }, "resolver": { "$ref": "#/components/schemas/VPCDNSResolverPrototype" } }, "type": "object", "title": "VPCDNSPrototype" }, "VPCDNSResolutionBinding": { "properties": { "created_at": { "description": "The date and time that the DNS resolution binding was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "endpoint_gateways": { "description": "The endpoint gateways that have `allow_dns_resolution_binding` set to `true` and reside\nin the VPC that has `dns.enable_hub` set to `false`.\n\nThe endpoint gateways may be remote and therefore may not be directly retrievable.", "items": { "$ref": "#/components/schemas/EndpointGatewayReferenceRemote" }, "minItems": 0, "type": "array", "uniqueItems": true }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/VPCDNSResolutionBindingHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this DNS resolution binding", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings/r006-8a524686-fcf6-4947-a59b-188c1ed78ad1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this DNS resolution binding", "example": "r006-8a524686-fcf6-4947-a59b-188c1ed78ad1", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the DNS resolution binding." } ] }, "name": { "description": "The name for this DNS resolution binding. The name is unique across all DNS\nresolution bindings for the VPC.", "example": "my-dns-resolution-binding", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "vpc_dns_resolution_binding" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReferenceRemote" }, { "description": "The VPC bound to for DNS resolution.\n\nThe VPC may be remote and therefore may not be directly retrievable." } ] } }, "required": [ "created_at", "endpoint_gateways", "health_reasons", "health_state", "href", "id", "lifecycle_state", "name", "resource_type", "vpc" ], "type": "object", "title": "VPCDNSResolutionBinding" }, "VPCDNSResolutionBindingCollection": { "properties": { "dns_resolution_bindings": { "description": "A page of DNS resolution bindings for the VPC", "items": { "$ref": "#/components/schemas/VPCDNSResolutionBinding" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "dns_resolution_bindings", "first", "limit", "total_count" ], "type": "object", "title": "VPCDNSResolutionBindingCollection" }, "VPCDNSResolutionBindingHealthReason": { "properties": { "code": { "description": "A reason code for this health state.", "enum": [ "disconnected_from_bound_vpc", "internal_error" ], "example": "disconnected_from_bound_vpc", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "The VPC specified in the DNS resolution binding has been disconnected.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPCDNSResolutionBindingHealthReason" }, "VPCDNSResolutionBindingPatch": { "properties": { "name": { "description": "The name for this DNS resolution binding. The name must not be used by another DNS\nresolution binding for the VPC.", "example": "my-dns-resolution-binding-updated", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "type": "object", "title": "VPCDNSResolutionBindingPatch" }, "VPCDNSResolutionBindingPrototype": { "properties": { "name": { "description": "The name for this DNS resolution binding. The name must not be used by another DNS\nresolution binding for the VPC. If unspecified, the name will be a hyphenated list\nof randomly-selected words.", "example": "my-dns-resolution-binding", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" } ], "description": "The VPC to bind this VPC to for DNS resolution. The VPC must be different from the VPC\nspecified in the URL, must have `dns.enable_hub` set to `true`, and may be in a\ndifferent account (subject to IAM policies).\n\nAdditionally, the VPC specified in the URL (this VPC) must have `dns.enable_hub` set\nto `false` and a `dns.resolution_binding_count` of zero." } }, "required": [ "vpc" ], "type": "object", "title": "VPCDNSResolutionBindingPrototype" }, "VPCDNSResolver": { "oneOf": [ { "$ref": "#/components/schemas/VPCDNSResolverTypeDelegated" }, { "$ref": "#/components/schemas/VPCDNSResolverTypeManual" }, { "$ref": "#/components/schemas/VPCDNSResolverTypeSystem" } ], "properties": { "servers": { "$ref": "#/components/schemas/VPCDNSResolverServers" }, "type": { "allOf": [ { "$ref": "#/components/schemas/VPCDNSResolverType" }, { "description": "The type of the DNS resolver used for the VPC.\n\n- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC\n specified in `dns.resolver.vpc`.\n- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.\n- `system`: DNS server addresses are provided by the system.\n\nThe maximum number of DNS servers is expected to\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future." } ] } }, "required": [ "servers", "type" ], "type": "object", "title": "VPCDNSResolver" }, "VPCDNSResolverManualServers": { "description": "The manually specified DNS servers for this VPC.\n\nIf the DNS servers have `zone_affinity`, the DHCP [Domain Name Server\nOption](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will list the\nDNS server with the affinity for that zone first, followed by the unique DNS servers from\nother zones.\n\nIf the DNS servers do not have `zone_affinity`, the DHCP [Domain Name Server\nOption](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will\nlist all the manual DNS servers in the order specified.\n\nThe maximum number of manual DNS servers is expected to\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "format": "sequence", "items": { "$ref": "#/components/schemas/DNSServer" }, "maxItems": 3, "minItems": 1, "type": "array", "uniqueItems": true, "title": "VPCDNSResolverManualServers" }, "VPCDNSResolverManualServersPatch": { "description": "The DNS servers to use for this VPC, replacing any existing servers. All the DNS servers\nmust either:\n\n- have a unique `zone_affinity`, or\n- not have a `zone_affinity`.\n\nIf `zone_affinity` is specified, exactly one DNS server must be specified for each zone in\nthe region. The DHCP [Domain Name Server\nOption](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will list\nthis DNS server first, followed by unique DNS servers from other zones if available.\n\nIf `zone_affinity` is not specified, the DHCP [Domain Name Server\nOption](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will list\nall the manual DNS servers in the order specified.\n\n`dns.resolver.manual_servers` must be set if and only if `dns.resolver.type` is `manual`.", "format": "sequence", "items": { "$ref": "#/components/schemas/DNSServerPrototype" }, "maxItems": 3, "minItems": 1, "nullable": true, "type": "array", "uniqueItems": true, "title": "VPCDNSResolverManualServersPatch" }, "VPCDNSResolverPatch": { "properties": { "manual_servers": { "$ref": "#/components/schemas/VPCDNSResolverManualServersPatch" }, "type": { "description": "The type of the DNS resolver to use.\n\n- `delegated`: DNS server addresses will be provided by the resolver for the VPC\n specified in `dns.resolver.vpc`. Requires `dns.enable_hub` to be\n `false`.\n- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.\n- `system`: DNS server addresses will be provided by the system and depend on the\n configuration.\n\nUpdating from `manual` requires `dns.resolver.manual_servers` to be specified as\n`null`.\n\nUpdating to `manual` requires `dns.resolver.manual_servers` to be specified and not\nempty.\n\nUpdating from `delegated` requires `dns.resolver.vpc` to be specified as `null`.", "enum": [ "delegated", "manual", "system" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vpc": { "$ref": "#/components/schemas/VPCDNSResolverVPCPatch" } }, "type": "object", "title": "VPCDNSResolverPatch" }, "VPCDNSResolverPrototype": { "oneOf": [ { "$ref": "#/components/schemas/VPCDNSResolverTypeManualPrototype" }, { "$ref": "#/components/schemas/VPCDNSResolverTypeSystemPrototype" } ], "properties": { "type": { "default": "system", "description": "The type of the DNS resolver to use.\n\n- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.\n- `system`: DNS server addresses will be provided by the system and depend on the\n configuration.", "enum": [ "manual", "system" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "x-unevaluatedProperties": false, "title": "VPCDNSResolverPrototype" }, "VPCDNSResolverServers": { "description": "The DNS servers for this VPC. The servers are populated:\n\n- by the system when `dns.resolver.type` is `system`\n- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`\n- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`\n\nThe maximum number of DNS servers is expected to\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "format": "sequence", "items": { "$ref": "#/components/schemas/DNSServer" }, "maxItems": 3, "minItems": 1, "type": "array", "uniqueItems": true, "title": "VPCDNSResolverServers" }, "VPCDNSResolverType": { "enum": [ "delegated", "manual", "system" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "VPCDNSResolverType" }, "VPCDNSResolverTypeDelegated": { "description": "The DNS server addresses are delegated to the DNS resolver of another VPC.", "properties": { "type": { "description": "The type of the DNS resolver used for the VPC.", "enum": [ "delegated" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReferenceDNSResolverContext" }, { "description": "The VPC whose DNS resolver provides the DNS server addresses for this VPC.\n\nThe VPC may be remote and therefore may not be directly retrievable." } ] } }, "required": [ "type", "vpc" ], "type": "object", "title": "VPCDNSResolverTypeDelegated" }, "VPCDNSResolverTypeManual": { "description": "The DNS server addresses are manually specified.", "properties": { "manual_servers": { "$ref": "#/components/schemas/VPCDNSResolverManualServers" }, "type": { "description": "The type of the DNS resolver used for the VPC.", "enum": [ "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "manual_servers", "type" ], "type": "object", "title": "VPCDNSResolverTypeManual" }, "VPCDNSResolverTypeManualPrototype": { "description": "Manually specify the DNS server addresses for this VPC.", "properties": { "manual_servers": { "description": "The DNS servers to use for this VPC. All the DNS servers must either:\n\n- have a unique `zone_affinity`, or\n- not have a `zone_affinity`.\n\nIf `zone_affinity` is specified, exactly one DNS server must be specified for each\nzone in the region. The DHCP [Domain Name Server\nOption](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will\nlist this DNS server first, followed by unique DNS servers from other zones if\navailable.\n\nIf `zone_affinity` is not specified, the DHCP [Domain Name Server\nOption](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will\nlist all the manual DNS servers in the order specified.", "format": "sequence", "items": { "$ref": "#/components/schemas/DNSServerPrototype" }, "maxItems": 3, "minItems": 1, "type": "array", "uniqueItems": true }, "type": { "description": "The type of the DNS resolver to use.", "enum": [ "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "manual_servers", "type" ], "type": "object", "title": "VPCDNSResolverTypeManualPrototype" }, "VPCDNSResolverTypeSystem": { "description": "The DNS server addresses are provided by the system and depend on the configuration.", "example": { "configuration": "default", "servers": [ { "address": "161.26.0.10" }, { "address": "161.26.0.11" } ], "type": "system" }, "properties": { "configuration": { "description": "The configuration of the system DNS resolver for this VPC.\n\n- `custom_resolver`: A custom DNS resolver is configured for this VPC.\n\n- `private_resolver`: A private DNS resolver is configured for this VPC. Applies when\n the VPC has either or both of the following:\n\n - at least one endpoint gateway residing in it\n - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it\n\n- `default`: The provider default DNS resolvers are configured for this VPC.\n\n This system DNS resolver configuration is used when the VPC has:\n\n - no custom DNS resolver configured for it, and\n - no endpoint gateways residing in it, and\n - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it.", "enum": [ "custom_resolver", "default", "private_resolver" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type of the DNS resolver used for the VPC.", "enum": [ "system" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "configuration", "type" ], "type": "object", "title": "VPCDNSResolverTypeSystem" }, "VPCDNSResolverTypeSystemPrototype": { "description": "The system will provide DNS server addresses for this VPC. The system-provided DNS server\naddresses depend on whether any endpoint gateways reside in the VPC, and whether a\n[DNS Services](https://cloud.ibm.com/docs/dns-svcs) instance is configured for the VPC.", "properties": { "type": { "default": "system", "description": "The type of the DNS resolver to use.", "enum": [ "system" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "VPCDNSResolverTypeSystemPrototype" }, "VPCDNSResolverVPCPatch": { "allOf": [ { "$ref": "#/components/schemas/VPCIdentity" } ], "description": "The VPC to provide DNS server addresses for this VPC. The specified VPC must be configured\nwith a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) custom resolver and must be in\none of this VPC's DNS resolution bindings.\n\nSpecify `null` to remove an existing VPC.\n\nThis property must be set if and only if `dns.resolver.type` is `delegated`.", "nullable": true, "type": "object", "title": "VPCDNSResolverVPCPatch" }, "VPCHealthReason": { "properties": { "code": { "description": "A reason code for this health state.", "enum": [ "dns_resolution_binding_failed", "internal_error" ], "example": "dns_resolution_binding_failed", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "The VPC specified in the DNS resolution binding has been disconnected.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPCHealthReason" }, "VPCIdentity": { "description": "Identifies a VPC by a unique property.", "example": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "oneOf": [ { "$ref": "#/components/schemas/VPCIdentityById" }, { "$ref": "#/components/schemas/VPCIdentityByCRN" }, { "$ref": "#/components/schemas/VPCIdentityByHref" } ], "type": "object", "title": "VPCIdentity" }, "VPCIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this VPC", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "VPCIdentityByCRN" }, "VPCIdentityByHref": { "properties": { "href": { "description": "The URL for this VPC", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "VPCIdentityByHref" }, "VPCIdentityById": { "properties": { "id": { "description": "The unique identifier for this VPC", "example": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "VPCIdentityById" }, "VPCPatch": { "properties": { "dns": { "$ref": "#/components/schemas/VPCDNSPatch" }, "name": { "description": "The name for this VPC. The name must not be used by another VPC in the region.", "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "VPCPatch" }, "VPCPrototype": { "properties": { "address_prefix_management": { "default": "auto", "description": "Indicates whether a [default address\nprefix](https://cloud.ibm.com/docs/vpc?topic=vpc-configuring-address-prefixes) will be\nautomatically created for each zone in this VPC. If `manual`, this VPC will be created\nwith no default address prefixes.\n\nSince address prefixes are managed identically regardless of whether they were\nautomatically created, the value is not preserved as a VPC property.", "enum": [ "auto", "manual" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "classic_access": { "default": false, "deprecated": true, "description": "Indicates whether this VPC will be connected to Classic Infrastructure. If true,\nthis VPC's resources will have private network connectivity to the account's Classic\nInfrastructure resources. Only one VPC, per region, may be connected in this way. This\nvalue is set at creation and subsequently immutable.\n\nThis property has been deprecated. Instead, use a [Transit\nGateway](https://cloud.ibm.com/docs/transit-gateway) to connect this VPC to Classic\nInfrastructure. For more information, see [upcoming\nchanges](https://cloud.ibm.com/docs/vpc?topic=vpc-api-change-log#upcoming-changes).", "example": false, "type": "boolean" }, "dns": { "$ref": "#/components/schemas/VPCDNSPrototype" }, "name": { "description": "The name for this VPC. The name must not be used by another VPC in the region. If\nunspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" } }, "type": "object", "title": "VPCPrototype" }, "VPCReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "properties": { "crn": { "description": "The CRN for this VPC", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this VPC", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPC", "example": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this VPC. The name is unique across all VPCs in the region.", "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VPCReference" }, "VPCReferenceDNSResolverContext": { "description": "A VPC whose DNS resolver is delegated to provide DNS servers for this VPC.\n\nThe VPC may be remote and therefore may not be directly retrievable.", "properties": { "crn": { "description": "The CRN for this VPC", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this VPC", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPC", "example": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this VPC. The name is unique across all VPCs in the region.", "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/VPCRemote" }, "resource_type": { "description": "The resource type", "enum": [ "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VPCReferenceDNSResolverContext" }, "VPCReferenceRemote": { "properties": { "crn": { "description": "The CRN for this VPC", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this VPC", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPC", "example": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this VPC. The name is unique across all VPCs in the region.", "example": "my-vpc", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/VPCRemote" }, "resource_type": { "description": "The resource type", "enum": [ "vpc" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VPCReferenceRemote" }, "VPCRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/AccountReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\naccount, and identifies the owning account." }, "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "VPCRemote" }, "VPNGateway": { "example": { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-04T03:44:47.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "id": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "lifecycle_reasons": [], "lifecycle_state": "stable", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.72" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.72" }, "role": "active" } ], "mode": "route", "name": "my-vpn-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayPolicyMode" }, { "$ref": "#/components/schemas/VPNGatewayRouteMode" } ], "properties": { "connections": { "description": "The connections for this VPN gateway.", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionReference" }, "type": "array" }, "created_at": { "description": "The date and time that this VPN gateway was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this VPN gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/VPNGatewayHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this VPN gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPN gateway", "example": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/VPNGatewayLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the VPN gateway." } ] }, "members": { "description": "The members for the VPN gateway", "items": { "$ref": "#/components/schemas/VPNGatewayMember" }, "type": "array" }, "name": { "description": "The name for this VPN gateway. The name is unique across all VPN gateways in the VPC.", "example": "my-vpn-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this VPN gateway" } ] }, "resource_type": { "description": "The resource type", "enum": [ "vpn_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "$ref": "#/components/schemas/SubnetReference" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this VPN gateway resides in." } ] } }, "required": [ "connections", "created_at", "crn", "health_reasons", "health_state", "href", "id", "lifecycle_reasons", "lifecycle_state", "members", "name", "resource_group", "resource_type", "subnet", "vpc" ], "type": "object", "title": "VPNGateway" }, "VPNGatewayCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways?limit=20" }, "limit": 20, "total_count": 2, "vpn_gateways": [ { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-04T03:44:47.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "id": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "lifecycle_reasons": [], "lifecycle_state": "stable", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.72" }, "role": "active" } ], "mode": "route", "name": "my-vpn-gateway", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "connections": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "name": "my-vpn-gateway-connection-2", "resource_type": "vpn_gateway_connection" } ], "created_at": "2025-03-07T03:47:48.954315Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9", "id": "0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9", "lifecycle_reasons": [], "lifecycle_state": "stable", "members": [ { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.73" }, "role": "active" }, { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.2.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-e626dac5-45ba-42bd-a65f-642021cd1a7f", "id": "0727-e626dac5-45ba-42bd-a65f-642021cd1a7f", "name": "my-reserved-ip-z2-2", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.74" }, "role": "standby" } ], "mode": "policy", "name": "my-vpn-gateway-2", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_gateway", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ] }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" }, "vpn_gateways": { "description": "A page of VPN gateways", "items": { "$ref": "#/components/schemas/VPNGateway" }, "type": "array" } }, "required": [ "first", "limit", "total_count", "vpn_gateways" ], "type": "object", "title": "VPNGatewayCollection" }, "VPNGatewayConnection": { "discriminator": { "mapping": { "policy": "#/components/schemas/VPNGatewayConnectionPolicyMode", "route": "#/components/schemas/VPNGatewayConnectionRouteMode" }, "propertyName": "mode" }, "example": { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionRouteMode" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPolicyMode" } ], "properties": { "admin_state_up": { "description": "If set to false, the VPN gateway connection is shut down", "type": "boolean" }, "authentication_mode": { "description": "The authentication mode.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "psk" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that this VPN gateway connection was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "dead_peer_detection": { "$ref": "#/components/schemas/VPNGatewayConnectionDPD" }, "establish_mode": { "description": "The establish mode of the VPN gateway connection:\n- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol\n negotiations or rekeying processes.\n- `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway\n connection. Additionally, the peer is responsible for initiating the rekeying process\n after the connection is established. If rekeying does not occur, the VPN gateway\n connection will be brought down after its lifetime expires.", "enum": [ "bidirectional", "peer_only" ], "example": "bidirectional", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this VPN gateway connection", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPN gateway connection", "example": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ike_policy": { "allOf": [ { "$ref": "#/components/schemas/IKEPolicyReference" }, { "description": "The IKE policy. If absent, [auto-negotiation is\nused](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1)" } ] }, "ipsec_policy": { "allOf": [ { "$ref": "#/components/schemas/IPsecPolicyReference" }, { "description": "The IPsec policy. If absent, [auto-negotiation is\nused](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2)" } ] }, "mode": { "$ref": "#/components/schemas/VPNGatewayModeType" }, "name": { "description": "The name for this VPN gateway connection. The name is unique across all connections\nfor the VPN gateway.", "example": "my-vpn-gateway-connection", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "psk": { "description": "The pre-shared key", "example": "lkj14b1oi0alcniejkso", "minLength": 6, "pattern": "^(?=[\\-+&!@#\\$%^*\\(\\),\\.:_a-zA-Z0-9]{6,128}$)(?:(?!^0[xs]).).*$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "vpn_gateway_connection" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of a VPN gateway connection", "enum": [ "down", "up" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current VPN gateway connection status (if any).", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionStatusReason" }, "minItems": 0, "type": "array" } }, "required": [ "admin_state_up", "authentication_mode", "created_at", "dead_peer_detection", "establish_mode", "href", "id", "mode", "name", "psk", "resource_type", "status", "status_reasons" ], "type": "object", "title": "VPNGatewayConnection" }, "VPNGatewayConnectionCIDRs": { "properties": { "cidrs": { "description": "The CIDRs for this resource.", "items": { "description": "A CIDR for the resource", "example": "192.0.2.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "cidrs" ], "type": "object", "title": "VPNGatewayConnectionCIDRs" }, "VPNGatewayConnectionCollection": { "example": { "connections": [ { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-08T23:24:04.244612Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "peer_only", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] }, { "admin_state_up": true, "authentication_mode": "psk", "created_at": "2025-03-09T15:38:07.172928Z", "dead_peer_detection": { "action": "none", "interval": 15, "timeout": 30 }, "establish_mode": "bidirectional", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0727-a7d258d5-be1e-491d-83db-526d8d9a2ce9/connections/0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "id": "0727-b67efb2c-bd17-457d-be8e-7b46404062dc", "ike_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "name": "my-ike-policy", "resource_type": "ike_policy" }, "ipsec_policy": { "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876", "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "name": "my-ipsec-policy", "resource_type": "ipsec_policy" }, "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "mode": "policy", "name": "my-vpn-gateway-connection-2", "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" }, "psk": "lkj14b1oi0alcniejkso", "resource_type": "vpn_gateway_connection", "status": "down", "status_reasons": [] } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections?limit=20" }, "limit": 20, "total_count": 2 }, "properties": { "connections": { "description": "A page of connections for the VPN gateway", "items": { "$ref": "#/components/schemas/VPNGatewayConnection" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "connections", "first", "limit", "total_count" ], "type": "object", "title": "VPNGatewayConnectionCollection" }, "VPNGatewayConnectionDPD": { "description": "The dead peer detection configuration.", "properties": { "action": { "description": "The dead peer detection action.", "enum": [ "clear", "hold", "none", "restart" ], "example": "restart", "type": "string" }, "interval": { "description": "The dead peer detection interval in seconds. Must not be greater than `timeout`.", "example": 30, "maximum": 86399, "minimum": 1, "type": "integer" }, "timeout": { "description": "The dead peer detection timeout in seconds. Must not be less than `interval`.", "example": 120, "maximum": 86399, "minimum": 2, "type": "integer" } }, "required": [ "action", "interval", "timeout" ], "type": "object", "title": "VPNGatewayConnectionDPD" }, "VPNGatewayConnectionDPDPatch": { "description": "The dead peer detection configuration.", "properties": { "action": { "description": "The dead peer detection action.", "enum": [ "clear", "hold", "none", "restart" ], "example": "restart", "type": "string" }, "interval": { "description": "The dead peer detection interval in seconds. Must not be greater than `timeout`.", "example": 30, "maximum": 86399, "minimum": 1, "type": "integer" }, "timeout": { "description": "The dead peer detection timeout in seconds. Must not be less than `interval`.", "example": 120, "maximum": 86399, "minimum": 2, "type": "integer" } }, "type": "object", "title": "VPNGatewayConnectionDPDPatch" }, "VPNGatewayConnectionDPDPrototype": { "description": "The dead peer detection configuration.", "properties": { "action": { "default": "restart", "description": "The dead peer detection action.", "enum": [ "clear", "hold", "none", "restart" ], "example": "restart", "type": "string" }, "interval": { "default": 2, "description": "The dead peer detection interval in seconds. Must not be greater than `timeout`.", "example": 30, "maximum": 86399, "minimum": 1, "type": "integer" }, "timeout": { "default": 10, "description": "The dead peer detection timeout in seconds. Must not be less than `interval`.", "example": 120, "maximum": 86399, "minimum": 2, "type": "integer" } }, "type": "object", "title": "VPNGatewayConnectionDPDPrototype" }, "VPNGatewayConnectionIKEIdentity": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityFQDN" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityHostname" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityIPv4" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityKeyID" } ], "properties": { "type": { "description": "The IKE identity type.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "fqdn", "hostname", "ipv4_address", "key_id" ], "example": "fqdn", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "VPNGatewayConnectionIKEIdentity" }, "VPNGatewayConnectionIKEIdentityFQDN": { "properties": { "value": { "description": "The IKE identity FQDN value.", "example": "my-service.example.com", "maxLength": 255, "minLength": 4, "pattern": "^((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string" } }, "required": [ "value" ], "type": "object", "title": "VPNGatewayConnectionIKEIdentityFQDN" }, "VPNGatewayConnectionIKEIdentityHostname": { "properties": { "value": { "description": "The IKE identity hostname value.", "example": "my-hostname", "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?$", "type": "string" } }, "required": [ "value" ], "type": "object", "title": "VPNGatewayConnectionIKEIdentityHostname" }, "VPNGatewayConnectionIKEIdentityIPv4": { "properties": { "value": { "description": "The IKE identity IPv4 address value.", "example": "192.168.3.4", "maxLength": 15, "minLength": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", "type": "string" } }, "required": [ "value" ], "type": "object", "title": "VPNGatewayConnectionIKEIdentityIPv4" }, "VPNGatewayConnectionIKEIdentityKeyID": { "properties": { "value": { "description": "The base64-encoded IKE identity key ID value.", "example": "qQ+/YEApnl1ZtEgIrfprzb065307thTkzlnLqL5ICpesdbBN03dyCQ==", "minLength": 4, "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$", "type": "string" } }, "required": [ "value" ], "type": "object", "title": "VPNGatewayConnectionIKEIdentityKeyID" }, "VPNGatewayConnectionIKEIdentityPrototype": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityFQDN" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityHostname" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityIPv4" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityKeyID" } ], "properties": { "type": { "description": "The IKE identity type.", "enum": [ "fqdn", "hostname", "ipv4_address", "key_id" ], "example": "fqdn", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "VPNGatewayConnectionIKEIdentityPrototype" }, "VPNGatewayConnectionIKEPolicyPatch": { "allOf": [ { "$ref": "#/components/schemas/IKEPolicyIdentity" }, { "description": "The IKE policy to use. If unspecified, [auto-negotiation will be\nused](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1)" } ], "description": "The IKE policy to use. Specify `null` to remove any existing policy, [resulting in\nauto-negotiation](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1)", "nullable": true, "type": "object", "title": "VPNGatewayConnectionIKEPolicyPatch" }, "VPNGatewayConnectionIKEPolicyPrototype": { "allOf": [ { "$ref": "#/components/schemas/IKEPolicyIdentity" }, { "description": "The IKE policy to use. If unspecified, [auto-negotiation will be\nused](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1)" } ], "type": "object", "title": "VPNGatewayConnectionIKEPolicyPrototype" }, "VPNGatewayConnectionIPsecPolicyPatch": { "allOf": [ { "$ref": "#/components/schemas/IPsecPolicyIdentity" }, { "description": "The IPsec policy to use. If unspecified, [auto-negotiation will be\nused](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2)" } ], "description": "The IPsec policy to use. Specify `null` to remove any existing policy, [resulting in\nauto-negotiation](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2)", "nullable": true, "type": "object", "title": "VPNGatewayConnectionIPsecPolicyPatch" }, "VPNGatewayConnectionIPsecPolicyPrototype": { "allOf": [ { "$ref": "#/components/schemas/IPsecPolicyIdentity" }, { "description": "The IPsec policy to use. If unspecified, [auto-negotiation will be\nused](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2)" } ], "type": "object", "title": "VPNGatewayConnectionIPsecPolicyPrototype" }, "VPNGatewayConnectionIdentity": { "description": "Identifies a VPN gateway connection by a unique property.", "example": { "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c" }, "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionIdentityById" }, { "$ref": "#/components/schemas/VPNGatewayConnectionIdentityByHref" } ], "type": "object", "title": "VPNGatewayConnectionIdentity" }, "VPNGatewayConnectionIdentityByHref": { "properties": { "href": { "description": "The URL for this VPN gateway connection", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "VPNGatewayConnectionIdentityByHref" }, "VPNGatewayConnectionIdentityById": { "properties": { "id": { "description": "The unique identifier for this VPN gateway connection", "example": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "VPNGatewayConnectionIdentityById" }, "VPNGatewayConnectionPatch": { "properties": { "admin_state_up": { "description": "If set to false, the VPN gateway connection is shut down", "type": "boolean" }, "dead_peer_detection": { "$ref": "#/components/schemas/VPNGatewayConnectionDPDPatch" }, "distribute_traffic": { "description": "Indicates whether the traffic is distributed between the `up` tunnels of the VPN\ngateway connection when the VPC route's next hop is a VPN connection. If `false`,\nthe traffic is only routed through the `up` tunnel with the lower `public_ip`\naddress. Before enabling it on VPN connections to on-prem private networks, review\n[distributing traffic\nrestrictions](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-limitations#distributing-traffic-restrictions).\n\nIf specified, `mode` must be `route`.", "type": "boolean" }, "establish_mode": { "description": "The establish mode of the VPN gateway connection:\n- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol\n negotiations or rekeying processes.\n- `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway\n connection. Additionally, the peer is responsible for initiating the rekeying process\n after the connection is established. If rekeying does not occur, the VPN gateway\n connection will be brought down after its lifetime expires.", "enum": [ "bidirectional", "peer_only" ], "example": "bidirectional", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ike_policy": { "$ref": "#/components/schemas/VPNGatewayConnectionIKEPolicyPatch" }, "ipsec_policy": { "$ref": "#/components/schemas/VPNGatewayConnectionIPsecPolicyPatch" }, "name": { "description": "The name for this VPN gateway connection. The name must not be used by another\nconnection for the VPN gateway.", "example": "my-vpn-gateway-connection", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "peer": { "$ref": "#/components/schemas/VPNGatewayConnectionPeerPatch" }, "psk": { "description": "The pre-shared key", "example": "lkj14b1oi0alcniejkso", "minLength": 6, "pattern": "^(?=[\\-+&!@#\\$%^*\\(\\),\\.:_a-zA-Z0-9]{6,128}$)(?:(?!^0[xs]).).*$", "type": "string" } }, "type": "object", "title": "VPNGatewayConnectionPatch" }, "VPNGatewayConnectionPeerAddressPatch": { "properties": { "address": { "description": "The IP address of the peer VPN gateway for this connection.", "example": "192.0.2.5", "maxLength": 15, "minLength": 7, "pattern": "^(?!(0(\\.0){3})|(255(\\.255){3})|(22[4-9]|23[0-9](\\.[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]){3}))([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}$", "type": "string" } }, "type": "object", "title": "VPNGatewayConnectionPeerAddressPatch" }, "VPNGatewayConnectionPeerByAddress": { "properties": { "address": { "description": "The IP address of the peer VPN gateway for this connection.", "example": "192.0.2.5", "maxLength": 15, "minLength": 7, "pattern": "^(?!(0(\\.0){3})|(255(\\.255){3})|(22[4-9]|23[0-9](\\.[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]){3}))([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}$", "type": "string" } }, "required": [ "address" ], "type": "object", "title": "VPNGatewayConnectionPeerByAddress" }, "VPNGatewayConnectionPeerByFQDN": { "properties": { "fqdn": { "description": "The FQDN of the peer VPN gateway for this connection.", "example": "my-service.example.com", "maxLength": 255, "minLength": 4, "pattern": "^((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string" } }, "required": [ "fqdn" ], "type": "object", "title": "VPNGatewayConnectionPeerByFQDN" }, "VPNGatewayConnectionPeerFQDNPatch": { "properties": { "fqdn": { "description": "The FQDN of the peer VPN gateway for this connection.", "example": "my-service.example.com", "maxLength": 255, "minLength": 4, "pattern": "^((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string" } }, "type": "object", "title": "VPNGatewayConnectionPeerFQDNPatch" }, "VPNGatewayConnectionPeerPatch": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionPolicyModePeerPatch" }, { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteModePeerPatch" } ], "type": "object", "title": "VPNGatewayConnectionPeerPatch" }, "VPNGatewayConnectionPolicyMode": { "example": { "local": { "cidrs": [ "192.0.2.0/24" ], "ike_identities": [ { "type": "ipv4_address", "value": "192.0.2.66" } ] }, "peer": { "address": "203.0.113.4", "cidrs": [ "203.0.113.0/24" ], "ike_identity": { "type": "ipv4_address", "value": "203.0.113.4" }, "type": "address" } }, "properties": { "local": { "$ref": "#/components/schemas/VPNGatewayConnectionPolicyModeLocal" }, "peer": { "$ref": "#/components/schemas/VPNGatewayConnectionPolicyModePeer" } }, "required": [ "local", "peer" ], "type": "object", "title": "VPNGatewayConnectionPolicyMode" }, "VPNGatewayConnectionPolicyModeLocal": { "properties": { "cidrs": { "description": "The local CIDRs for this VPN gateway connection.", "items": { "description": "A local CIDR for this VPN gateway connection.", "example": "192.0.2.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "minItems": 1, "type": "array" }, "ike_identities": { "description": "The local IKE identities.\n\nA VPN gateway in policy mode consists of two members in active-standby mode.\nThe local IKE identity applies to the active member.", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentity" }, "maxItems": 1, "minItems": 1, "type": "array" } }, "required": [ "cidrs", "ike_identities" ], "type": "object", "title": "VPNGatewayConnectionPolicyModeLocal" }, "VPNGatewayConnectionPolicyModeLocalPrototype": { "properties": { "cidrs": { "description": "The local CIDRs for this VPN gateway connection.", "items": { "description": "A local CIDR for this VPN gateway connection.", "example": "192.0.2.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "minItems": 1, "type": "array" }, "ike_identities": { "description": "The local IKE identities to use.\n\nA VPN gateway in policy mode consists of two members in active-standby mode.\nThe specified identity will be applied to the active member.\n\nIf unspecified, then `type` will be `ipv4_address` and `value` will be the public IP\naddress of the VPN gateway.", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityPrototype" }, "maxItems": 1, "minItems": 1, "type": "array" } }, "required": [ "cidrs" ], "type": "object", "title": "VPNGatewayConnectionPolicyModeLocalPrototype" }, "VPNGatewayConnectionPolicyModePeer": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByAddress" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByFQDN" } ], "properties": { "cidrs": { "description": "The peer CIDRs for this VPN gateway connection.", "items": { "description": "A peer CIDR for the VPN gateway connection.", "example": "203.0.113.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "minItems": 1, "type": "array" }, "ike_identity": { "allOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentity" } ], "description": "The peer IKE identity." }, "type": { "description": "Indicates whether `peer.address` or `peer.fqdn` is used.", "enum": [ "address", "fqdn" ], "example": "address", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "cidrs", "ike_identity", "type" ], "type": "object", "title": "VPNGatewayConnectionPolicyModePeer" }, "VPNGatewayConnectionPolicyModePeerPatch": { "description": "The peer VPN gateway for this connection. If `peer.type` is `ipv4_address`,\nonly `peer.address` may be specified. If `peer.type` is fqdn, only `peer.fqdn`\nmay be specified.", "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionPeerAddressPatch" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPeerFQDNPatch" } ], "type": "object", "title": "VPNGatewayConnectionPolicyModePeerPatch" }, "VPNGatewayConnectionPolicyModePeerPrototype": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByAddress" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByFQDN" } ], "properties": { "cidrs": { "description": "The peer CIDRs for this VPN gateway connection.", "items": { "description": "A peer CIDR for the VPN gateway connection.", "example": "203.0.113.0/24", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "minItems": 1, "type": "array" }, "ike_identity": { "allOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityPrototype" } ], "description": "The peer IKE identity to use.\n\nIf unspecified:\n- If `peer.address` is specified, the `type` will be `ipv4_address`, and\nthe `value` will be `peer.address`.\n- If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value`\nwill be `peer.fqdn`." } }, "required": [ "cidrs" ], "type": "object", "title": "VPNGatewayConnectionPolicyModePeerPrototype" }, "VPNGatewayConnectionPolicyModePrototype": { "properties": { "local": { "$ref": "#/components/schemas/VPNGatewayConnectionPolicyModeLocalPrototype" }, "peer": { "$ref": "#/components/schemas/VPNGatewayConnectionPolicyModePeerPrototype" } }, "required": [ "local", "peer" ], "type": "object", "title": "VPNGatewayConnectionPolicyModePrototype" }, "VPNGatewayConnectionPrototype": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteModePrototype" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPolicyModePrototype" } ], "properties": { "admin_state_up": { "default": true, "description": "If set to false, the VPN gateway connection is shut down", "type": "boolean" }, "dead_peer_detection": { "$ref": "#/components/schemas/VPNGatewayConnectionDPDPrototype" }, "establish_mode": { "default": "bidirectional", "description": "The establish mode of the VPN gateway connection:\n- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol\n negotiations or rekeying processes.\n- `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway\n connection. Additionally, the peer is responsible for initiating the rekeying process\n after the connection is established. If rekeying does not occur, the VPN gateway\n connection will be brought down after its lifetime expires.", "enum": [ "bidirectional", "peer_only" ], "example": "bidirectional", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "ike_policy": { "$ref": "#/components/schemas/VPNGatewayConnectionIKEPolicyPrototype" }, "ipsec_policy": { "$ref": "#/components/schemas/VPNGatewayConnectionIPsecPolicyPrototype" }, "name": { "description": "The name for this VPN gateway connection. The name must not be used by another\nconnection for the VPN gateway. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-vpn-gateway-connection", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "psk": { "description": "The pre-shared key", "example": "lkj14b1oi0alcniejkso", "minLength": 6, "pattern": "^(?=[\\-+&!@#\\$%^*\\(\\),\\.:_a-zA-Z0-9]{6,128}$)(?:(?!^0[xs]).).*$", "type": "string" } }, "required": [ "psk" ], "type": "object", "title": "VPNGatewayConnectionPrototype" }, "VPNGatewayConnectionReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "id": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "name": "my-vpn-gateway-connection", "resource_type": "vpn_gateway_connection" }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this VPN gateway connection", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections/0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPN gateway connection", "example": "0717-52f69dc3-6a5c-4bcf-b264-e7fae279b15c", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this VPN gateway connection. The name is unique across all connections\nfor the VPN gateway.", "example": "my-vpn-gateway-connection", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "vpn_gateway_connection" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "href", "id", "name", "resource_type" ], "type": "object", "title": "VPNGatewayConnectionReference" }, "VPNGatewayConnectionRouteMode": { "discriminator": { "mapping": { "none": "#/components/schemas/VPNGatewayConnectionStaticRouteMode" }, "propertyName": "routing_protocol" }, "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteMode" } ], "type": "object", "title": "VPNGatewayConnectionRouteMode" }, "VPNGatewayConnectionStaticRouteMode": { "example": { "distribute_traffic": false, "local": { "ike_identities": [ { "type": "ipv4_address", "value": "203.0.113.100" }, { "type": "ipv4_address", "value": "203.0.113.200" } ] }, "peer": { "address": "192.0.2.1", "ike_identity": { "type": "ipv4_address", "value": "192.0.2.1" }, "type": "address" }, "routing_protocol": "none", "tunnels": [ { "public_ip": { "address": "203.0.113.100" }, "status": "up", "status_reasons": [] }, { "public_ip": { "address": "203.0.113.200" }, "status": "down", "status_reasons": [ { "code": "peer_not_responding", "message": "No response from peer (check network ACL configuration, peer availability, and\non-premise firewall configuration).", "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health" } ] } ] }, "properties": { "distribute_traffic": { "description": "Indicates whether the traffic is distributed between the `up` tunnels of the VPN\ngateway connection when the VPC route's next hop is a VPN connection. If `false`,\nthe traffic is only routed through the `up` tunnel with the lower `public_ip`\naddress.", "type": "boolean" }, "local": { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteModeLocal" }, "peer": { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteModePeer" }, "routing_protocol": { "description": "The routing protocol for this VPN gateway connection.", "enum": [ "none" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "tunnels": { "description": "The VPN tunnel configuration for this VPN gateway connection (in static route mode).", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteModeTunnel" }, "type": "array" } }, "required": [ "distribute_traffic", "local", "peer", "routing_protocol", "tunnels" ], "type": "object", "title": "VPNGatewayConnectionStaticRouteMode" }, "VPNGatewayConnectionStaticRouteModeLocal": { "properties": { "ike_identities": { "description": "The local IKE identities.\n\nA VPN gateway in static route mode consists of two members in active-active mode.\nThe first identity applies to the first member, and the second identity applies to the\nsecond member.", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentity" }, "maxItems": 2, "minItems": 2, "type": "array" } }, "required": [ "ike_identities" ], "type": "object", "title": "VPNGatewayConnectionStaticRouteModeLocal" }, "VPNGatewayConnectionStaticRouteModeLocalPrototype": { "properties": { "ike_identities": { "description": "The local IKE identities to use.\n\nA VPN gateway in static route mode consists of two members in active-active mode.\nThe first specified identity will be applied to the first member, and the second\nspecified identity will be applied to the second member.\n\nIf unspecified, then `type` will be `ipv4_address` and `value` will be the public IP\naddress of the member's VPN connection tunnel.", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityPrototype" }, "maxItems": 2, "minItems": 2, "type": "array" } }, "type": "object", "title": "VPNGatewayConnectionStaticRouteModeLocalPrototype" }, "VPNGatewayConnectionStaticRouteModePeer": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByAddress" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByFQDN" } ], "properties": { "ike_identity": { "allOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentity" } ], "description": "The peer IKE identity." }, "type": { "description": "Indicates whether `peer.address` or `peer.fqdn` is used.", "enum": [ "address", "fqdn" ], "example": "address", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "ike_identity", "type" ], "type": "object", "title": "VPNGatewayConnectionStaticRouteModePeer" }, "VPNGatewayConnectionStaticRouteModePeerPatch": { "description": "The peer VPN gateway for this connection. If `peer.type` is `ipv4_address`,\nonly `peer.address` may be specified. If `peer.type` is fqdn, only `peer.fqdn`\nmay be specified.", "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionPeerAddressPatch" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPeerFQDNPatch" } ], "type": "object", "title": "VPNGatewayConnectionStaticRouteModePeerPatch" }, "VPNGatewayConnectionStaticRouteModePeerPrototype": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByAddress" }, { "$ref": "#/components/schemas/VPNGatewayConnectionPeerByFQDN" } ], "properties": { "ike_identity": { "allOf": [ { "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityPrototype" } ], "description": "The peer IKE identity to use.\n\nIf unspecified:\n- If `peer.address` is specified, the `type` will be `ipv4_address`, and\nthe `value` will be `peer.address`.\n- If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value`\nwill be `peer.fqdn`." } }, "type": "object", "title": "VPNGatewayConnectionStaticRouteModePeerPrototype" }, "VPNGatewayConnectionStaticRouteModePrototype": { "properties": { "distribute_traffic": { "default": false, "description": "Indicates whether the traffic is distributed between the `up` tunnels of the VPN\ngateway connection when the VPC route's next hop is a VPN connection. If `false`,\nthe traffic is only routed through the `up` tunnel with the lower `public_ip`\naddress. Before enabling it on VPN connections to on-prem private networks, review\n[distributing traffic\nrestrictions](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-limitations#distributing-traffic-restrictions).", "type": "boolean" }, "local": { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteModeLocalPrototype" }, "peer": { "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteModePeerPrototype" }, "routing_protocol": { "default": "none", "description": "The routing protocol for this VPN gateway connection.", "enum": [ "none" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "peer" ], "type": "object", "title": "VPNGatewayConnectionStaticRouteModePrototype" }, "VPNGatewayConnectionStaticRouteModeTunnel": { "properties": { "public_ip": { "allOf": [ { "$ref": "#/components/schemas/IP" } ], "description": "The IP address of the VPN gateway member in which the tunnel resides" }, "status": { "description": "The status of the VPN Tunnel.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "down", "up" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/VPNGatewayConnectionTunnelStatusReason" }, "minItems": 0, "type": "array" } }, "required": [ "public_ip", "status", "status_reasons" ], "type": "object", "title": "VPNGatewayConnectionStaticRouteModeTunnel" }, "VPNGatewayConnectionStatus": { "enum": [ "down", "up" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "VPNGatewayConnectionStatus" }, "VPNGatewayConnectionStatusReason": { "properties": { "code": { "description": "A snake case string succinctly identifying the status reason.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_authenticate_connection", "ike_policy_mismatch", "ike_v1_id_local_remote_cidr_mismatch", "ike_v2_local_remote_cidr_mismatch", "internal_error", "ipsec_policy_mismatch", "peer_not_responding" ], "example": "cannot_authenticate_connection", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this VPN gateway connection's status.", "example": "Failed to authenticate a connection because of mismatched IKE ID and PSK.", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNGatewayConnectionStatusReason" }, "VPNGatewayConnectionTunnelStatusReason": { "properties": { "code": { "description": "A reason code for this status:\n- `cannot_authenticate_connection`: Failed to authenticate a connection because of\n mismatched IKE ID and PSK (check IKE ID and PSK in peer VPN configuration)\n- `internal_error`: Internal error (contact IBM support)\n- `ike_policy_mismatch`: None of the proposed IKE crypto suites was acceptable (check\n the IKE policies on both sides of the VPN)\n- `ike_v1_id_local_remote_cidr_mismatch`: Invalid IKE ID or mismatched local CIDRs and\n remote CIDRs in IKE V1 (check the IKE ID or the local CIDRs and remote CIDRs in IKE\n V1 configuration)\n- `ike_v2_local_remote_cidr_mismatch`: Mismatched local CIDRs and remote CIDRs in IKE\n V2 (check the local CIDRs and remote CIDRs in IKE V2 configuration)\n- `ipsec_policy_mismatch`: None of the proposed IPsec crypto suites was acceptable\n (check the IPsec policies on both sides of the VPN)\n- `peer_not_responding`: No response from peer (check network ACL configuration, peer\n availability, and on-premise firewall configuration)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_authenticate_connection", "ike_policy_mismatch", "ike_v1_id_local_remote_cidr_mismatch", "ike_v2_local_remote_cidr_mismatch", "internal_error", "ipsec_policy_mismatch", "peer_not_responding" ], "example": "cannot_authenticate_connection", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this VPN gateway connection tunnel's status.", "example": "Failed to authenticate a connection because of mismatched IKE ID and PSK.", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNGatewayConnectionTunnelStatusReason" }, "VPNGatewayHealthReason": { "properties": { "code": { "description": "A reason code for this health state:\n- `cannot_create_vpc_route`: VPN cannot create route (check for conflict)\n- `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's\n subnet)\n- `internal_error`: Internal error (contact IBM support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_create_vpc_route", "cannot_reserve_ip_address", "internal_error" ], "example": "cannot_reserve_ip_address", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "IP address exhaustion (release addresses on the VPN's subnet).", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNGatewayHealthReason" }, "VPNGatewayLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNGatewayLifecycleReason" }, "VPNGatewayMember": { "example": { "health_reasons": [], "health_state": "ok", "lifecycle_reasons": [], "lifecycle_state": "stable", "private_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, "public_ip": { "address": "203.0.113.71" }, "role": "active" }, "properties": { "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/VPNGatewayMemberHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/VPNGatewayMemberLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the VPN gateway member." } ] }, "private_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The reserved IP address assigned to the VPN gateway member.\n\nThis property will be present only when the VPN gateway status is `available`." } ] }, "public_ip": { "allOf": [ { "$ref": "#/components/schemas/IP" }, { "description": "The public IP address assigned to the VPN gateway member" } ] }, "role": { "description": "The high availability role assigned to the VPN gateway member.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "active", "standby" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "health_reasons", "health_state", "lifecycle_reasons", "lifecycle_state", "private_ip", "public_ip", "role" ], "type": "object", "title": "VPNGatewayMember" }, "VPNGatewayMemberHealthReason": { "properties": { "code": { "description": "A reason code for this health state:\n- `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's\n subnet)\n- `internal_error`: Internal error (contact IBM support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_reserve_ip_address", "internal_error" ], "example": "cannot_reserve_ip_address", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "IP address exhaustion (release addresses on the VPN's subnet).", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNGatewayMemberHealthReason" }, "VPNGatewayMemberLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNGatewayMemberLifecycleReason" }, "VPNGatewayModeType": { "description": "The mode of the VPN gateway.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "policy", "route" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "VPNGatewayModeType" }, "VPNGatewayPatch": { "properties": { "name": { "description": "The name for this VPN gateway. The name must not be used by another VPN gateway in the\nVPC.", "example": "my-vpn-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "VPNGatewayPatch" }, "VPNGatewayPolicyMode": { "properties": { "mode": { "description": "The mode for this VPN gateway.", "enum": [ "policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "mode" ], "type": "object", "title": "VPNGatewayPolicyMode" }, "VPNGatewayPolicyModePrototype": { "properties": { "mode": { "description": "The mode for this VPN gateway.", "enum": [ "policy" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "mode" ], "type": "object", "title": "VPNGatewayPolicyModePrototype" }, "VPNGatewayPrototype": { "oneOf": [ { "$ref": "#/components/schemas/VPNGatewayRouteModePrototype" }, { "$ref": "#/components/schemas/VPNGatewayPolicyModePrototype" } ], "properties": { "name": { "description": "The name for this VPN gateway. The name must not be used by another VPN gateway in the\nVPC. If unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-vpn-gateway", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "subnet": { "$ref": "#/components/schemas/SubnetIdentity" } }, "required": [ "subnet" ], "type": "object", "title": "VPNGatewayPrototype" }, "VPNGatewayReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "id": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "name": "my-vpn-gateway", "resource_type": "vpn_gateway" }, "properties": { "crn": { "description": "The CRN for this VPN gateway", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this VPN gateway", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPN gateway", "example": "0717-ddf51bec-3424-11e8-b467-0ed5f89f718b", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this VPN gateway. The name is unique across all VPN gateways in the VPC.", "example": "my-vpn-gateway", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "vpn_gateway" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VPNGatewayReference" }, "VPNGatewayRouteMode": { "example": { "mode": "route" }, "properties": { "mode": { "description": "The mode for this VPN gateway.", "enum": [ "route" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "mode" ], "type": "object", "title": "VPNGatewayRouteMode" }, "VPNGatewayRouteModePrototype": { "example": { "mode": "route" }, "properties": { "mode": { "default": "route", "description": "The mode for this VPN gateway.", "enum": [ "route" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "VPNGatewayRouteModePrototype" }, "VPNServer": { "example": { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "a4841334.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "id": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server", "port": 443, "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, "properties": { "certificate": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceReference" }, { "description": "The certificate instance for this VPN server." } ] }, "client_authentication": { "description": "The methods used to authenticate VPN clients to this VPN server. VPN clients must\nauthenticate against all specified methods.", "items": { "$ref": "#/components/schemas/VPNServerAuthentication" }, "minItems": 1, "type": "array", "uniqueItems": true }, "client_auto_delete": { "description": "Indicates whether disconnected VPN clients will be automatically deleted after\n`client_auto_delete_timeout` hours have passed. At present, this is always `true`, but\nmay be modifiable in the future.", "example": true, "type": "boolean" }, "client_auto_delete_timeout": { "description": "If `client_auto_delete` is `true`, the hours after which disconnected VPN clients will\nbe automatically deleted. If the value is `0`, disconnected VPN clients will be\ndeleted immediately. This value may be modifiable in the future.", "example": 1, "maximum": 24, "minimum": 0, "type": "integer" }, "client_dns_server_ips": { "description": "The DNS server addresses that will be provided to VPN clients that are connected to\nthis VPN server.", "items": { "$ref": "#/components/schemas/IP" }, "type": "array", "uniqueItems": true }, "client_idle_timeout": { "description": "The seconds a VPN client can be idle before this VPN server will\ndisconnect it. If `0`, the server will not disconnect idle clients.", "example": 600, "maximum": 28800, "minimum": 0, "type": "integer" }, "client_ip_pool": { "description": "The VPN client IPv4 address pool, expressed in CIDR format.", "example": "172.16.0.0/16", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "created_at": { "description": "The date and time that the VPN server was created.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this VPN server", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "enable_split_tunneling": { "description": "Indicates whether the split tunneling is enabled on this VPN server.", "example": true, "type": "boolean" }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/VPNServerHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "hostname": { "description": "The fully qualified domain name assigned to this VPN server", "example": "a8506291.us-south.vpn-server.appdomain.cloud", "maxLength": 255, "minLength": 4, "pattern": "^((?=[A-Za-z0-9-]{1,63}\\.)[A-Za-z0-9-]*\\.)+[A-Za-z]{2,63}\\.?$", "type": "string" }, "href": { "description": "The URL for this VPN server", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this VPN server", "example": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f" } ] }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/VPNServerLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the VPN server." } ] }, "name": { "description": "The name for this VPN server. The name is unique across all VPN servers in the VPC.", "example": "my-vpn-server", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "port": { "description": "The port number used by this VPN server.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "private_ips": { "description": "The reserved IPs bound to this VPN server.", "items": { "$ref": "#/components/schemas/ReservedIPReference" }, "type": "array" }, "protocol": { "description": "The transport protocol to use for this VPN server.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this VPN server" } ] }, "resource_type": { "description": "The resource type", "enum": [ "vpn_server" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "security_groups": { "description": "The security groups targeting this VPN server.", "items": { "$ref": "#/components/schemas/SecurityGroupReference" }, "minItems": 1, "type": "array", "uniqueItems": true }, "subnets": { "description": "The subnets this VPN server is provisioned in.", "items": { "$ref": "#/components/schemas/SubnetReference" }, "type": "array" }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this VPN server resides in." } ] } }, "required": [ "certificate", "client_authentication", "client_auto_delete", "client_auto_delete_timeout", "client_dns_server_ips", "client_idle_timeout", "client_ip_pool", "created_at", "crn", "enable_split_tunneling", "health_reasons", "health_state", "hostname", "href", "id", "lifecycle_reasons", "lifecycle_state", "name", "port", "private_ips", "protocol", "resource_group", "resource_type", "security_groups", "subnets", "vpc" ], "type": "object", "title": "VPNServer" }, "VPNServerAuthentication": { "description": "An authentication method for this VPN server.", "example": { "identity_provider": { "provider_type": "iam" }, "method": "username" }, "oneOf": [ { "$ref": "#/components/schemas/VPNServerAuthenticationByUsername" }, { "$ref": "#/components/schemas/VPNServerAuthenticationByCertificate" } ], "properties": { "method": { "allOf": [ { "$ref": "#/components/schemas/VPNServerAuthenticationMethod" } ], "description": "The type of authentication.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future." } }, "required": [ "method" ], "type": "object", "title": "VPNServerAuthentication" }, "VPNServerAuthenticationByCertificate": { "properties": { "client_ca": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceReference" }, { "description": "The certificate instance used for the VPN client certificate authority (CA)." } ] }, "crl": { "description": "The certificate revocation list contents, encoded in PEM format.", "type": "string" } }, "required": [ "client_ca" ], "type": "object", "title": "VPNServerAuthenticationByCertificate" }, "VPNServerAuthenticationByCertificatePrototype": { "properties": { "client_ca": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceIdentity" }, { "description": "The certificate instance to use for the VPN client certificate authority (CA)." } ] }, "crl": { "description": "The certificate revocation list contents, encoded in PEM format.", "minLength": 1, "type": "string" } }, "required": [ "client_ca" ], "type": "object", "title": "VPNServerAuthenticationByCertificatePrototype" }, "VPNServerAuthenticationByUsername": { "properties": { "identity_provider": { "$ref": "#/components/schemas/VPNServerAuthenticationByUsernameIdProvider" } }, "required": [ "identity_provider" ], "type": "object", "title": "VPNServerAuthenticationByUsername" }, "VPNServerAuthenticationByUsernameIdProvider": { "description": "The type of identity provider to be used by VPN client.", "example": { "provider_type": "iam" }, "oneOf": [ { "$ref": "#/components/schemas/VPNServerAuthenticationByUsernameIdProviderByIAM" } ], "type": "object", "title": "VPNServerAuthenticationByUsernameIdProvider" }, "VPNServerAuthenticationByUsernameIdProviderByIAM": { "properties": { "provider_type": { "description": "The type of identity provider to be used by the VPN client:\n- `iam`: IBM identity and access management\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "iam" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "provider_type" ], "type": "object", "title": "VPNServerAuthenticationByUsernameIdProviderByIAM" }, "VPNServerAuthenticationByUsernamePrototype": { "properties": { "identity_provider": { "$ref": "#/components/schemas/VPNServerAuthenticationByUsernameIdProvider" } }, "required": [ "identity_provider" ], "type": "object", "title": "VPNServerAuthenticationByUsernamePrototype" }, "VPNServerAuthenticationMethod": { "description": "The type of authentication.", "enum": [ "certificate", "username" ], "example": "certificate", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "VPNServerAuthenticationMethod" }, "VPNServerAuthenticationPrototype": { "description": "An authentication method for this VPN server.", "discriminator": { "mapping": { "certificate": "#/components/schemas/VPNServerAuthenticationByCertificatePrototype", "username": "#/components/schemas/VPNServerAuthenticationByUsernamePrototype" }, "propertyName": "method" }, "oneOf": [ { "$ref": "#/components/schemas/VPNServerAuthenticationByUsernamePrototype" }, { "$ref": "#/components/schemas/VPNServerAuthenticationByCertificatePrototype" } ], "properties": { "method": { "$ref": "#/components/schemas/VPNServerAuthenticationMethod" } }, "required": [ "method" ], "type": "object", "title": "VPNServerAuthenticationPrototype" }, "VPNServerClient": { "example": { "client_ip": { "address": "192.168.0.2" }, "created_at": "2025-02-02T04:42:42Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients/r006-b37832e2-7abe-4b20-a292-c70b007569c6", "id": "r006-b37832e2-7abe-4b20-a292-c70b007569c6", "remote_ip": { "address": "202.1.23.33" }, "remote_port": 54632, "resource_type": "vpn_server_client", "status": "connected", "username": "my-vpn-server-client-1" }, "properties": { "client_ip": { "allOf": [ { "$ref": "#/components/schemas/IP" }, { "description": "The IP address assigned to this VPN client from `client_ip_pool`." } ] }, "common_name": { "description": "The common name of client certificate that the VPN client provided when connecting to\nthe server.\n\nThis property will be present only when the `certificate` client authentication method\nis enabled on the VPN server.", "maxLength": 64, "minLength": 1, "type": "string" }, "created_at": { "description": "The date and time that the VPN client was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "disconnected_at": { "description": "The date and time that the VPN client was disconnected.\n\nThis property will be present only when the client `status` is `disconnected`.", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "href": { "description": "The URL for this VPN client", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients/r006-b37832e2-7abe-4b20-a292-c70b007569c6", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPN client", "example": "r006-b37832e2-7abe-4b20-a292-c70b007569c6", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "remote_ip": { "allOf": [ { "$ref": "#/components/schemas/IP" }, { "description": "The remote IP address of this VPN client." } ] }, "remote_port": { "description": "The remote port of this VPN client.", "example": 22, "maximum": 65535, "minimum": 1, "type": "integer" }, "resource_type": { "description": "The resource type", "enum": [ "vpn_server_client" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status": { "description": "The status of the VPN client:\n- `connected`: the VPN client is `connected` to this VPN server.\n- `disconnected`: the VPN client is `disconnected` from this VPN server.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "connected", "disconnected" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "username": { "description": "The username that this VPN client provided when connecting to the VPN server.\n\nThis property will be present only when the `username` client authentication method is\nenabled on the VPN server.", "type": "string" } }, "required": [ "client_ip", "created_at", "href", "id", "remote_ip", "remote_port", "resource_type", "status" ], "type": "object", "title": "VPNServerClient" }, "VPNServerClientCollection": { "example": { "clients": [ { "client_ip": { "address": "192.168.0.2" }, "created_at": "2025-02-02T04:42:42Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients/r006-b37832e2-7abe-4b20-a292-c70b007569c6", "id": "r006-b37832e2-7abe-4b20-a292-c70b007569c6", "remote_ip": { "address": "202.1.23.33" }, "remote_port": 54632, "resource_type": "vpn_server_client", "status": "connected", "username": "my-vpn-server-client-1" }, { "client_ip": { "address": "192.168.0.3" }, "created_at": "2025-01-31T04:42:42Z", "disconnected_at": "2025-02-04T04:08:10Z", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients/r006-af263292-1a86-4f65-9d9b-ec2abcdb6d8f", "id": "r006-af263292-1a86-4f65-9d9b-ec2abcdb6d8f", "remote_ip": { "address": "202.1.23.36" }, "remote_port": 54638, "resource_type": "vpn_server_client", "status": "disconnected", "username": "my-vpn-server-client-2" } ], "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients?limit=50" }, "limit": 50, "total_count": 2 }, "properties": { "clients": { "description": "A page of clients of the VPN server", "items": { "$ref": "#/components/schemas/VPNServerClient" }, "type": "array" }, "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients?start=a5e812a2-62c0-4555-86a5-907106760c56&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "clients", "first", "limit", "total_count" ], "type": "object", "title": "VPNServerClientCollection" }, "VPNServerClientConfiguration": { "type": "string", "title": "VPNServerClientConfiguration" }, "VPNServerCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers?limit=50" }, "limit": 50, "total_count": 2, "vpn_servers": [ { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "a4841334.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "id": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server", "port": 443, "private_ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1-1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-eaa3e60c-6712-438d-9fe4-d68ddb7983f9/reserved_ips/0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "id": "0727-287796d9-a904-4f3f-9c4d-2e0d8ccf0cfc", "name": "my-reserved-ip-z2-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "id": "0727-bcd82cfd-2f6a-4c03-8fcd-82b6b61921c5", "name": "my-subnet-z2-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } }, { "certificate": { "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5" }, "client_authentication": [ { "identity_provider": { "provider_type": "iam" }, "method": "username" } ], "client_auto_delete": true, "client_auto_delete_timeout": 1, "client_dns_server_ips": [ { "address": "161.26.0.7" }, { "address": "161.26.0.8" } ], "client_idle_timeout": 10, "client_ip_pool": "192.168.0.0/16", "created_at": "2025-02-01T17:29:36.921569Z", "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-950efb61-5460-43e8-883a-95b96184cb05", "enable_split_tunneling": false, "health_reasons": [], "health_state": "ok", "hostname": "badc3b88.us-south.vpn-server.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-950efb61-5460-43e8-883a-95b96184cb05", "id": "r006-950efb61-5460-43e8-883a-95b96184cb05", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-2", "port": 443, "private_ips": [ { "address": "10.0.1.6", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "id": "0717-fa2ac7c6-3414-44a4-8772-c18d3d81b6df", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.3.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0737-943012e8-6f7d-42e8-acd6-e2afe2165261/reserved_ips/0737-976f31eb-461f-403f-a1cc-ee8447a28b71", "id": "0737-976f31eb-461f-403f-a1cc-ee8447a28b71", "name": "my-reserved-ip-z3-1", "resource_type": "subnet_reserved_ip" } ], "protocol": "udp", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "vpn_server", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnets": [ { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, { "crn": "crn:v1:bluemix:public:is:us-south-3:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0737-9f5a6bee-b370-43f3-8247-88b98f964397", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0737-9f5a6bee-b370-43f3-8247-88b98f964397", "id": "0737-9f5a6bee-b370-43f3-8247-88b98f964397", "name": "my-subnet-z3-1", "resource_type": "subnet" } ], "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" } } ] }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers?start=ffd653466e284937896724b2dd044c9c&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" }, "vpn_servers": { "description": "A page of VPN servers", "items": { "$ref": "#/components/schemas/VPNServer" }, "type": "array" } }, "required": [ "first", "limit", "total_count", "vpn_servers" ], "type": "object", "title": "VPNServerCollection" }, "VPNServerHealthReason": { "properties": { "code": { "description": "A reason code for this health state:\n- `cannot_access_client_certificate`: VPN server's client certificate is inaccessible\n (verify certificate exists and that IAM policies grant `VPN server for VPC` access\n to `Secrets Manager`)\n- `cannot_access_server_certificate`: VPN server's server certificate is inaccessible\n (verify certificate exists and that IAM policies grant `VPN server for VPC` access\n to `Secrets Manager`)\n- `cannot_create_vpc_route`: VPN cannot create route (check for conflict)\n- `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's\n subnet)\n- `internal_error`: Internal error (contact IBM support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "cannot_access_client_certificate", "cannot_access_server_certificate", "cannot_create_vpc_route", "cannot_reserve_ip_address", "internal_error" ], "example": "cannot_access_server_certificate", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "Failed to get VPN server's server certificate from Secrets Manager.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-health", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNServerHealthReason" }, "VPNServerLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNServerLifecycleReason" }, "VPNServerPatch": { "properties": { "certificate": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceIdentity" }, { "description": "The certificate instance for this VPN server." } ] }, "client_authentication": { "description": "The authentication methods to use to authenticate VPN client on this VPN server\n(replacing any existing methods).", "items": { "$ref": "#/components/schemas/VPNServerAuthenticationPrototype" }, "minItems": 1, "type": "array", "uniqueItems": true }, "client_dns_server_ips": { "description": "The DNS server addresses that will be provided to VPN clients connected to this VPN\nserver (replacing any existing addresses).", "items": { "$ref": "#/components/schemas/IP" }, "maxItems": 2, "type": "array", "uniqueItems": true }, "client_idle_timeout": { "description": "The seconds a VPN client can be idle before this VPN server will\ndisconnect it. If `0`, the server will not disconnect idle clients.", "example": 600, "maximum": 28800, "minimum": 0, "type": "integer" }, "client_ip_pool": { "description": "The VPN client IPv4 address pool, expressed in CIDR format. The\nrequest must not overlap with any existing address prefixes in the\nVPC or any of the following reserved address ranges:\n - `127.0.0.0/8` (IPv4 loopback addresses)\n - `161.26.0.0/16` (IBM services)\n - `166.8.0.0/14` (Cloud Service Endpoints)\n - `169.254.0.0/16` (IPv4 link-local addresses)\n - `224.0.0.0/4` (IPv4 multicast addresses)\n\nThe prefix length of the client IP address pool's CIDR must be between\n`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR\nblock that contains twice the number of IP addresses that are\nrequired to enable the maximum number of concurrent connections is\nrecommended.", "example": "172.16.0.0/16", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "enable_split_tunneling": { "description": "Indicates whether the split tunneling is enabled on this VPN server.", "example": true, "type": "boolean" }, "name": { "description": "The name for this VPN server. The name must not be used by another VPN server in the\nVPC.", "example": "my-vpn-server", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "port": { "description": "The port number used by this VPN server.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "description": "The transport protocol to use for this VPN server.", "enum": [ "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnets": { "description": "The subnets to provision this VPN server in (replacing the existing subnets).", "items": { "$ref": "#/components/schemas/SubnetIdentity" }, "maxItems": 2, "minItems": 1, "type": "array", "uniqueItems": true } }, "type": "object", "title": "VPNServerPatch" }, "VPNServerPrototype": { "properties": { "certificate": { "allOf": [ { "$ref": "#/components/schemas/CertificateInstanceIdentity" }, { "description": "The certificate instance for this VPN server." } ] }, "client_authentication": { "description": "The methods used to authenticate VPN clients to this VPN server. VPN clients must\nauthenticate against all specified methods.", "items": { "$ref": "#/components/schemas/VPNServerAuthenticationPrototype" }, "minItems": 1, "type": "array", "uniqueItems": true }, "client_dns_server_ips": { "description": "The DNS server addresses that will be provided to VPN clients connected to this VPN\nserver.", "items": { "$ref": "#/components/schemas/IP" }, "maxItems": 2, "type": "array", "uniqueItems": true }, "client_idle_timeout": { "default": 600, "description": "The seconds a VPN client can be idle before this VPN server will\ndisconnect it. Specify `0` to prevent the server from\ndisconnecting idle clients.", "example": 600, "maximum": 28800, "minimum": 0, "type": "integer" }, "client_ip_pool": { "description": "The VPN client IPv4 address pool, expressed in CIDR format. The\nrequest must not overlap with any existing address prefixes in the\nVPC or any of the following reserved address ranges:\n - `127.0.0.0/8` (IPv4 loopback addresses)\n - `161.26.0.0/16` (IBM services)\n - `166.8.0.0/14` (Cloud Service Endpoints)\n - `169.254.0.0/16` (IPv4 link-local addresses)\n - `224.0.0.0/4` (IPv4 multicast addresses)\n\nThe prefix length of the client IP address pool's CIDR must be between\n`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR\nblock that contains twice the number of IP addresses that are\nrequired to enable the maximum number of concurrent connections is\nrecommended.", "example": "172.16.0.0/16", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "enable_split_tunneling": { "default": false, "description": "Indicates whether the split tunneling is enabled on this VPN server.", "example": false, "type": "boolean" }, "name": { "description": "The name for this VPN server. The name must not be used by another VPN server in the\nVPC. If unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-vpn-server", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "port": { "default": 443, "description": "The port number to use for this VPN server.", "example": 443, "maximum": 65535, "minimum": 1, "type": "integer" }, "protocol": { "default": "udp", "description": "The transport protocol to use for this VPN server.", "enum": [ "tcp", "udp" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "security_groups": { "description": "The security groups to use for this VPN server. If unspecified, the VPC's default\nsecurity group is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "type": "array", "uniqueItems": true }, "subnets": { "description": "The subnets to provision this VPN server in. Use subnets in\ndifferent zones for high availability.", "items": { "$ref": "#/components/schemas/SubnetIdentity" }, "maxItems": 2, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "certificate", "client_authentication", "client_ip_pool", "subnets" ], "type": "object", "title": "VPNServerPrototype" }, "VPNServerReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "id": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "name": "my-vpn-server", "resource_type": "vpn_server" }, "properties": { "crn": { "description": "The CRN for this VPN server", "example": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this VPN server", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "allOf": [ { "$ref": "#/components/schemas/ID" }, { "description": "The unique identifier for this VPN server", "example": "r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f" } ] }, "name": { "description": "The name for this VPN server. The name is unique across all VPN servers in the VPC.", "example": "my-vpn-server", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "vpn_server" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VPNServerReference" }, "VPNServerRoute": { "example": { "action": "deliver", "created_at": "2025-03-12T21:14:11Z", "destination": "192.168.32.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "id": "r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route", "resource_type": "vpn_server_route" }, "properties": { "action": { "description": "The action to perform with a packet matching the VPN route:\n- `translate`: translate the source IP address to one of the private IP addresses of\n the VPN server, then deliver the packet to target.\n- `deliver`: deliver the packet into the VPC.\n- `drop`: drop the packet\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "deliver", "drop", "translate" ], "example": "deliver", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "created_at": { "description": "The date and time that the VPN route was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "destination": { "allOf": [ { "$ref": "#/components/schemas/CIDRv4" }, { "description": "The destination for this VPN route in the VPN server.\nIf an incoming packet does not match any destination, it will be dropped." } ] }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/VPNServerRouteHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this VPN route", "example": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-1a15dca5-7e33-45e1-b7c5-bc690e569531", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this VPN route", "example": "r006-1a15dca5-7e33-45e1-b7c5-bc690e569531", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "lifecycle_reasons": { "description": "The reasons for the current `lifecycle_state` (if any).", "items": { "$ref": "#/components/schemas/VPNServerRouteLifecycleReason" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the VPN route" } ] }, "name": { "description": "The name for this VPN route. The name is unique across all routes for a VPN server.", "example": "my-vpn-route-1", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "vpn_server_route" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "action", "created_at", "destination", "health_reasons", "health_state", "href", "id", "lifecycle_reasons", "lifecycle_state", "name", "resource_type" ], "type": "object", "title": "VPNServerRoute" }, "VPNServerRouteCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes?limit=50" }, "limit": 50, "routes": [ { "action": "deliver", "created_at": "2025-03-12T21:14:11Z", "destination": "192.168.32.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "id": "r006-29dd63e4-250d-4cd1-88f3-b0e7dabd33fb", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route", "resource_type": "vpn_server_route" }, { "action": "translate", "created_at": "2025-03-12T20:12:18Z", "destination": "192.0.2.0/24", "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-9cdddd42-8ce1-4ca9-ba65-06ffd4d6cf19", "id": "r006-9cdddd42-8ce1-4ca9-ba65-06ffd4d6cf19", "lifecycle_reasons": [], "lifecycle_state": "stable", "name": "my-vpn-server-route-2", "resource_type": "vpn_server_route" } ], "total_count": 2 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes?start=a5e812a2-62c0-4555-86a5-907106760c56&limit=20" } }, "routes": { "description": "A page of routes for the VPN server", "items": { "$ref": "#/components/schemas/VPNServerRoute" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "routes", "total_count" ], "type": "object", "title": "VPNServerRouteCollection" }, "VPNServerRouteHealthReason": { "properties": { "code": { "description": "A reason code for this health state:\n- `internal_error`: Internal error (contact IBM support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error" ], "example": "internal_error", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "Internal error (contact IBM support).", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-route-health", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNServerRouteHealthReason" }, "VPNServerRouteLifecycleReason": { "properties": { "code": { "description": "A reason code for this lifecycle state:\n- `internal_error`: internal error (contact IBM support)\n- `resource_suspended_by_provider`: The resource has been suspended (contact IBM\n support)\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "internal_error", "resource_suspended_by_provider" ], "example": "resource_suspended_by_provider", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this lifecycle state.", "example": "The resource has been suspended. Contact IBM support with the CRN for next steps.", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this lifecycle state.", "example": "https://cloud.ibm.com/apidocs/vpc#resource-suspension", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VPNServerRouteLifecycleReason" }, "VPNServerRoutePatch": { "properties": { "name": { "description": "The name for this VPN server route. The name must not be used by another route for the\nVPN server.", "example": "my-vpn-route-2", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "VPNServerRoutePatch" }, "VPNServerRoutePrototype": { "properties": { "action": { "default": "deliver", "description": "The action to perform with a packet matching the VPN route:\n- `translate`: translate the source IP address to one of the private IP addresses of\n the VPN server, then deliver the packet to target.\n- `deliver`: deliver the packet to the target.\n- `drop`: drop the packet", "enum": [ "deliver", "drop", "translate" ], "example": "deliver", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "destination": { "description": "The destination to use for this VPN route in the VPN server.\nMust be unique within the VPN server. If an incoming packet does\nnot match any destination, it will be dropped.", "example": "172.16.0.0/16", "maxLength": 18, "minLength": 9, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$", "type": "string" }, "name": { "description": "The name for this VPN server route. The name must not be used by another route for the\nVPN server. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.", "example": "my-vpn-route-2", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "required": [ "destination" ], "type": "object", "title": "VPNServerRoutePrototype" }, "VirtualNetworkInterface": { "example": { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-15T03:24:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "allow_ip_spoofing": { "description": "Indicates whether source IP spoofing is allowed on this interface.\nIf `false`, source IP spoofing is prevented on this interface.\nIf `true`, source IP spoofing is allowed on this interface.", "example": true, "type": "boolean" }, "auto_delete": { "description": "Indicates whether this virtual network interface will be automatically deleted when\n`target` is deleted", "example": false, "type": "boolean" }, "created_at": { "description": "The date and time that the virtual network interface was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this virtual network interface", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "enable_infrastructure_nat": { "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the virtual network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- Can only be attached to a `target` with a `resource_type` of\n `bare_metal_server_network_attachment`.", "example": true, "type": "boolean" }, "href": { "description": "The URL for this virtual network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/virtual_network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this virtual network interface", "example": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "ips": { "description": "The reserved IPs bound to this virtual network interface.\n\nMay be empty when `lifecycle_state` is `pending`.", "items": { "$ref": "#/components/schemas/ReservedIPReference" }, "minItems": 0, "type": "array" }, "lifecycle_state": { "allOf": [ { "$ref": "#/components/schemas/LifecycleState" }, { "description": "The lifecycle state of the virtual network interface" } ] }, "mac_address": { "description": "The MAC address of the virtual network interface. May be absent if `lifecycle_state`\nis `pending`.", "example": "02:00:4D:45:45:4D", "maxLength": 17, "minLength": 17, "pattern": "^([0-9A-F]{2}:){5}[0-9A-F]{2}$", "type": "string" }, "name": { "description": "The name for this virtual network interface. The name is unique across all virtual\nnetwork interfaces in the VPC.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" } ], "description": "The reserved IP for this virtual network interface." }, "protocol_state_filtering_mode": { "description": "The protocol state filtering mode used for this virtual network interface. If `auto`,\nprotocol state packet filtering is enabled or disabled based on the virtual network\ninterface's `target` resource type:\n\n- `bare_metal_server_network_attachment`: disabled\n- `instance_network_attachment`: enabled\n- `share_mount_target`: enabled\n\nProtocol state filtering monitors each network connection flowing over this virtual\nnetwork interface, and drops any packets that are invalid based on the current\nconnection state and protocol. See [Protocol state filtering\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering)) for\nmore information.", "enum": [ "auto", "disabled", "enabled" ], "example": "auto", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" } ], "description": "The resource group for this virtual network interface" }, "resource_type": { "description": "The resource type", "enum": [ "virtual_network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "security_groups": { "description": "The security groups for this virtual network interface.", "items": { "$ref": "#/components/schemas/SecurityGroupReference" }, "minItems": 1, "type": "array" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The associated subnet" } ] }, "target": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfaceTarget" } ], "description": "The target of this virtual network interface.\n\nIf absent, this virtual network interface is not attached to a target." }, "vpc": { "allOf": [ { "$ref": "#/components/schemas/VPCReference" }, { "description": "The VPC this virtual network interface resides in." } ] }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this virtual network interface resides in." } ] } }, "required": [ "allow_ip_spoofing", "auto_delete", "created_at", "crn", "enable_infrastructure_nat", "href", "id", "ips", "lifecycle_state", "name", "primary_ip", "protocol_state_filtering_mode", "resource_group", "resource_type", "security_groups", "subnet", "vpc", "zone" ], "type": "object", "title": "VirtualNetworkInterface" }, "VirtualNetworkInterfaceCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces?limit=20" }, "limit": 50, "total_count": 2, "virtual_network_interfaces": [ { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-15T03:24:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6A", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "allow_ip_spoofing": false, "auto_delete": true, "created_at": "2024-10-23T03:23:32.993Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "enable_infrastructure_nat": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "id": "0717-fa41aecb-4f21-423d-8082-630bfba1e1d9", "ips": [ { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, { "address": "10.0.2.10", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840/reserved_ips/0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "id": "0717-948a1ea9-0ffe-4c9e-aa7b-be4dc2d3e749", "name": "my-reserved-ip-z1-2", "resource_type": "subnet_reserved_ip" } ], "lifecycle_state": "stable", "mac_address": "02:00:04:00:C4:6B", "name": "my-virtual-network-interface-2", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "protocol_state_filtering_mode": "auto", "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "virtual_network_interface", "security_groups": [ { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271", "name": "my-security-group" } ], "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-c0461da9-04be-4a26-ac87-94e06c19b840", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-c0461da9-04be-4a26-ac87-94e06c19b840", "id": "0717-c0461da9-04be-4a26-ac87-94e06c19b840", "ipv4_cidr_block": "10.0.2.0/24", "name": "my-subnet-z1-2", "resource_type": "subnet" }, "vpc": { "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b", "name": "my-vpc", "resource_type": "vpc" }, "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ] }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" }, "virtual_network_interfaces": { "description": "A page of virtual network interfaces", "items": { "$ref": "#/components/schemas/VirtualNetworkInterface" }, "type": "array" } }, "required": [ "first", "limit", "total_count", "virtual_network_interfaces" ], "type": "object", "title": "VirtualNetworkInterfaceCollection" }, "VirtualNetworkInterfaceIPPrototype": { "oneOf": [ { "$ref": "#/components/schemas/ReservedIPIdentityVirtualNetworkInterfaceIPsContext" }, { "$ref": "#/components/schemas/ReservedIPPrototypeVirtualNetworkInterfaceIPsContext" } ], "type": "object", "title": "VirtualNetworkInterfaceIPPrototype" }, "VirtualNetworkInterfaceIdentity": { "description": "Identifies a virtual network interface by a unique property.", "example": { "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef" }, "oneOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentityById" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentityByHref" }, { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentityByCRN" } ], "type": "object", "title": "VirtualNetworkInterfaceIdentity" }, "VirtualNetworkInterfaceIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this virtual network interface", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "VirtualNetworkInterfaceIdentityByCRN" }, "VirtualNetworkInterfaceIdentityByHref": { "properties": { "href": { "description": "The URL for this virtual network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/virtual_network_interfaces/[-0-9a-z_]+$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "VirtualNetworkInterfaceIdentityByHref" }, "VirtualNetworkInterfaceIdentityById": { "properties": { "id": { "description": "The unique identifier for this virtual network interface", "example": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "VirtualNetworkInterfaceIdentityById" }, "VirtualNetworkInterfacePatch": { "properties": { "allow_ip_spoofing": { "description": "Indicates whether source IP spoofing is allowed on this interface.\n\nMust be `false` if `target` is a file share mount target.", "example": true, "type": "boolean" }, "auto_delete": { "description": "Indicates whether this virtual network interface will be automatically deleted when\n`target` is deleted. Must be `false` if the virtual network interface is unbound.", "example": false, "type": "boolean" }, "enable_infrastructure_nat": { "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the virtual network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- Can only be attached to a `target` with a `resource_type` of\n `bare_metal_server_network_attachment`.", "example": true, "type": "boolean" }, "name": { "description": "The name for this virtual network interface. The name must not be used by another\nvirtual network interface in the region. Names beginning with `ibm-` are reserved\nfor provider-owned resources, and are not allowed.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "protocol_state_filtering_mode": { "description": "The protocol state filtering mode to use for this virtual network interface. If\n`auto`, protocol state packet filtering is enabled or disabled based on the virtual\nnetwork interface's `target` resource type:\n\n- `bare_metal_server_network_attachment`: disabled\n- `instance_network_attachment`: enabled\n- `share_mount_target`: enabled\n\nMust not be `disabled` if the virtual network interface's `target` resource type is\n`share_mount_target`.\n\nProtocol state filtering monitors each network connection flowing over this virtual\nnetwork interface, and drops any packets that are invalid based on the current\nconnection state and protocol. See [Protocol state filtering\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for\nmore information.", "enum": [ "auto", "disabled", "enabled" ], "example": "auto", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "type": "object", "title": "VirtualNetworkInterfacePatch" }, "VirtualNetworkInterfacePrimaryIPPrototype": { "oneOf": [ { "$ref": "#/components/schemas/ReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext" }, { "$ref": "#/components/schemas/ReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext" } ], "type": "object", "title": "VirtualNetworkInterfacePrimaryIPPrototype" }, "VirtualNetworkInterfacePrototype": { "properties": { "allow_ip_spoofing": { "default": false, "description": "Indicates whether source IP spoofing is allowed on this interface.\nIf `false`, source IP spoofing is prevented on this interface.\nIf `true`, source IP spoofing is allowed on this interface.", "example": true, "type": "boolean" }, "auto_delete": { "default": false, "description": "Indicates whether this virtual network interface will be automatically deleted when\n`target` is deleted. Must be `false` if the virtual network interface is unbound.", "example": false, "type": "boolean" }, "enable_infrastructure_nat": { "default": true, "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the virtual network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- Can only be attached to a `target` with a `resource_type` of\n `bare_metal_server_network_attachment`.", "example": true, "type": "boolean" }, "ips": { "description": "The additional IP addresses to bind to the virtual network interface. Each item may be\neither a reserved IP identity, or a reserved IP prototype object which will be used to\ncreate a new reserved IP. All IP addresses must be in the primary IP's subnet.\n\nIf reserved IP identities are provided, the specified reserved IPs must be unbound.\n\nIf reserved IP prototype objects with addresses are provided, the addresses must\nbe available on the virtual network interface's subnet. For any prototype objects that\ndo not specify an address, an available address on the subnet will be automatically\nselected and reserved.", "example": [ { "address": "10.0.0.5" } ], "items": { "$ref": "#/components/schemas/VirtualNetworkInterfaceIPPrototype" }, "type": "array" }, "name": { "description": "The name for this virtual network interface. The name must not be used by another\nvirtual network interface in the VPC. If unspecified, the name will be a hyphenated\nlist of randomly-selected words. Names beginning with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfacePrimaryIPPrototype" } ], "description": "The primary IP address to bind to the virtual network interface. May be either a\nreserved IP identity, or a reserved IP prototype object which will be used to create a\nnew reserved IP.\n\nIf a reserved IP identity is provided, the specified reserved IP must be unbound.\n\nIf a reserved IP prototype object with an address is provided, the address must be\navailable on the virtual network interface's subnet. If no address is specified,\nan available address on the subnet will be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "protocol_state_filtering_mode": { "default": "auto", "description": "The protocol state filtering mode to use for this virtual network interface. If\n`auto`, protocol state packet filtering is enabled or disabled based on the virtual\nnetwork interface's `target` resource type:\n\n- `bare_metal_server_network_attachment`: disabled\n- `instance_network_attachment`: enabled\n- `share_mount_target`: enabled\n\nProtocol state filtering monitors each network connection flowing over this virtual\nnetwork interface, and drops any packets that are invalid based on the current\nconnection state and protocol. See [Protocol state filtering\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for\nmore information.", "enum": [ "auto", "disabled", "enabled" ], "example": "auto", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "security_groups": { "description": "The security groups to use for this virtual network interface. If unspecified, the\ndefault security group of the VPC for the subnet is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "minItems": 1, "type": "array", "uniqueItems": true }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The associated subnet. Required if `primary_ip` does not specify a reserved IP\nidentity." } ] } }, "type": "object", "title": "VirtualNetworkInterfacePrototype" }, "VirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext": { "description": "The virtual network interface for this target.", "not": { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" }, "properties": { "allow_ip_spoofing": { "default": false, "description": "Indicates whether source IP spoofing is allowed on this interface.\nIf `false`, source IP spoofing is prevented on this interface.\nIf `true`, source IP spoofing is allowed on this interface.", "example": true, "type": "boolean" }, "auto_delete": { "default": true, "description": "Indicates whether this virtual network interface will be automatically deleted when\n`target` is deleted", "example": false, "type": "boolean" }, "enable_infrastructure_nat": { "default": true, "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the virtual network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- Can only be attached to a `target` with a `resource_type` of\n `bare_metal_server_network_attachment`.", "example": true, "type": "boolean" }, "ips": { "description": "The additional IP addresses to bind to the virtual network interface. Each item may be\neither a reserved IP identity, or a reserved IP prototype object which will be used to\ncreate a new reserved IP. All IP addresses must be in the primary IP's subnet.\n\nIf reserved IP identities are provided, the specified reserved IPs must be unbound.\n\nIf reserved IP prototype objects with addresses are provided, the addresses must\nbe available on the virtual network interface's subnet. For any prototype objects that\ndo not specify an address, an available address on the subnet will be automatically\nselected and reserved.", "example": [ { "address": "10.0.0.5" } ], "items": { "$ref": "#/components/schemas/VirtualNetworkInterfaceIPPrototype" }, "type": "array" }, "name": { "description": "The name for this virtual network interface. The name must not be used by another\nvirtual network interface in the VPC. If unspecified, the name will be a hyphenated\nlist of randomly-selected words. Names beginning with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfacePrimaryIPPrototype" } ], "description": "The primary IP address to bind to the virtual network interface. May be either a\nreserved IP identity, or a reserved IP prototype object which will be used to create a\nnew reserved IP.\n\nIf a reserved IP identity is provided, the specified reserved IP must be unbound.\n\nIf a reserved IP prototype object with an address is provided, the address must be\navailable on the virtual network interface's subnet. If no address is specified,\nan available address on the subnet will be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "protocol_state_filtering_mode": { "default": "auto", "description": "The protocol state filtering mode to use for this virtual network interface. If\n`auto`, protocol state packet filtering is enabled or disabled based on the virtual\nnetwork interface's `target` resource type:\n\n- `bare_metal_server_network_attachment`: disabled\n- `instance_network_attachment`: enabled\n- `share_mount_target`: enabled\n\nProtocol state filtering monitors each network connection flowing over this virtual\nnetwork interface, and drops any packets that are invalid based on the current\nconnection state and protocol. See [Protocol state filtering\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for\nmore information.", "enum": [ "auto", "disabled", "enabled" ], "example": "auto", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use for this virtual network interface. If unspecified, the\nbare metal server's resource group will be used." } ] }, "security_groups": { "description": "The security groups to use for this virtual network interface. If unspecified, the\ndefault security group of the VPC for the subnet is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "minItems": 1, "type": "array", "uniqueItems": true }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The associated subnet. Required if `primary_ip` does not specify a reserved IP\nidentity." } ] } }, "type": "object", "title": "VirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext" }, "VirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext": { "description": "The virtual network interface for this target.", "not": { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" }, "properties": { "allow_ip_spoofing": { "default": false, "description": "Indicates whether source IP spoofing is allowed on this interface.\nIf `false`, source IP spoofing is prevented on this interface.\nIf `true`, source IP spoofing is allowed on this interface.", "example": true, "type": "boolean" }, "auto_delete": { "default": true, "description": "Indicates whether this virtual network interface will be automatically deleted when\n`target` is deleted", "example": false, "type": "boolean" }, "enable_infrastructure_nat": { "default": true, "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the virtual network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- Can only be attached to a `target` with a `resource_type` of\n `bare_metal_server_network_attachment`.", "example": true, "type": "boolean" }, "ips": { "description": "The additional IP addresses to bind to the virtual network interface. Each item may be\neither a reserved IP identity, or a reserved IP prototype object which will be used to\ncreate a new reserved IP. All IP addresses must be in the primary IP's subnet.\n\nIf reserved IP identities are provided, the specified reserved IPs must be unbound.\n\nIf reserved IP prototype objects with addresses are provided, the addresses must\nbe available on the virtual network interface's subnet. For any prototype objects that\ndo not specify an address, an available address on the subnet will be automatically\nselected and reserved.", "example": [ { "address": "10.0.0.5" } ], "items": { "$ref": "#/components/schemas/VirtualNetworkInterfaceIPPrototype" }, "type": "array" }, "name": { "description": "The name for this virtual network interface. The name must not be used by another\nvirtual network interface in the VPC. If unspecified, the name will be a hyphenated\nlist of randomly-selected words. Names beginning with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfacePrimaryIPPrototype" } ], "description": "The primary IP address to bind to the virtual network interface. May be either a\nreserved IP identity, or a reserved IP prototype object which will be used to create a\nnew reserved IP.\n\nIf a reserved IP identity is provided, the specified reserved IP must be unbound.\n\nIf a reserved IP prototype object with an address is provided, the address must be\navailable on the virtual network interface's subnet. If no address is specified,\nan available address on the subnet will be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "protocol_state_filtering_mode": { "default": "auto", "description": "The protocol state filtering mode to use for this virtual network interface. If\n`auto`, protocol state packet filtering is enabled or disabled based on the virtual\nnetwork interface's `target` resource type:\n\n- `bare_metal_server_network_attachment`: disabled\n- `instance_network_attachment`: enabled\n- `share_mount_target`: enabled\n\nProtocol state filtering monitors each network connection flowing over this virtual\nnetwork interface, and drops any packets that are invalid based on the current\nconnection state and protocol. See [Protocol state filtering\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for\nmore information.", "enum": [ "auto", "disabled", "enabled" ], "example": "auto", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use for this virtual network interface. If unspecified, the\nvirtual server instance's resource group will be used." } ] }, "security_groups": { "description": "The security groups to use for this virtual network interface. If unspecified, the\ndefault security group of the VPC for the subnet is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "minItems": 1, "type": "array", "uniqueItems": true }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The associated subnet. Required if `primary_ip` does not specify a reserved IP\nidentity." } ] } }, "type": "object", "title": "VirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext" }, "VirtualNetworkInterfacePrototypeShareMountTargetContext": { "description": "The virtual network interface for this target.", "not": { "$ref": "#/components/schemas/VirtualNetworkInterfaceIdentity" }, "properties": { "allow_ip_spoofing": { "default": false, "description": "Indicates whether source IP spoofing is allowed on this interface.\nIf `false`, source IP spoofing is prevented on this interface.\nIf `true`, source IP spoofing is allowed on this interface.", "example": true, "type": "boolean" }, "auto_delete": { "default": true, "description": "Indicates whether this virtual network interface will be automatically deleted when\n`target` is deleted", "example": false, "type": "boolean" }, "enable_infrastructure_nat": { "default": true, "description": "If `true`:\n- The VPC infrastructure performs any needed NAT operations.\n- `floating_ips` must not have more than one floating IP.\n\nIf `false`:\n- Packets are passed unchanged to/from the virtual network interface,\n allowing the workload to perform any needed NAT operations.\n- `allow_ip_spoofing` must be `false`.\n- Can only be attached to a `target` with a `resource_type` of\n `bare_metal_server_network_attachment`.", "example": true, "type": "boolean" }, "ips": { "description": "The additional IP addresses to bind to the virtual network interface. Each item may be\neither a reserved IP identity, or a reserved IP prototype object which will be used to\ncreate a new reserved IP. All IP addresses must be in the primary IP's subnet.\n\nIf reserved IP identities are provided, the specified reserved IPs must be unbound.\n\nIf reserved IP prototype objects with addresses are provided, the addresses must\nbe available on the virtual network interface's subnet. For any prototype objects that\ndo not specify an address, an available address on the subnet will be automatically\nselected and reserved.", "example": [ { "address": "10.0.0.5" } ], "items": { "$ref": "#/components/schemas/VirtualNetworkInterfaceIPPrototype" }, "type": "array" }, "name": { "description": "The name for this virtual network interface. The name must not be used by another\nvirtual network interface in the VPC. If unspecified, the name will be a hyphenated\nlist of randomly-selected words. Names beginning with `ibm-` are reserved for\nprovider-owned resources, and are not allowed.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/VirtualNetworkInterfacePrimaryIPPrototype" } ], "description": "The primary IP address to bind to the virtual network interface. May be either a\nreserved IP identity, or a reserved IP prototype object which will be used to create a\nnew reserved IP.\n\nIf a reserved IP identity is provided, the specified reserved IP must be unbound.\n\nIf a reserved IP prototype object with an address is provided, the address must be\navailable on the virtual network interface's subnet. If no address is specified,\nan available address on the subnet will be automatically selected and reserved.", "example": { "address": "10.0.0.5" } }, "protocol_state_filtering_mode": { "default": "auto", "description": "The protocol state filtering mode to use for this virtual network interface. If\n`auto`, protocol state packet filtering is enabled or disabled based on the virtual\nnetwork interface's `target` resource type:\n\n- `bare_metal_server_network_attachment`: disabled\n- `instance_network_attachment`: enabled\n- `share_mount_target`: enabled\n\nProtocol state filtering monitors each network connection flowing over this virtual\nnetwork interface, and drops any packets that are invalid based on the current\nconnection state and protocol. See [Protocol state filtering\nmode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for\nmore information.", "enum": [ "auto", "enabled" ], "example": "auto", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use for this virtual network interface. If unspecified, the\nshare's resource group will be used." } ] }, "security_groups": { "description": "The security groups to use for this virtual network interface. If unspecified, the\ndefault security group of the VPC for the subnet is used.", "example": [ { "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271" } ], "items": { "$ref": "#/components/schemas/SecurityGroupIdentity" }, "minItems": 1, "type": "array", "uniqueItems": true }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetIdentity" }, { "description": "The associated subnet. Required if `primary_ip` does not specify a reserved IP\nidentity." } ] } }, "type": "object", "title": "VirtualNetworkInterfacePrototypeShareMountTargetContext" }, "VirtualNetworkInterfaceReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "primary_ip": { "address": "10.0.1.5", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb", "name": "my-reserved-ip-z1", "resource_type": "subnet_reserved_ip" }, "resource_type": "virtual_network_interface", "subnet": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "my-subnet", "resource_type": "subnet" } }, "properties": { "crn": { "description": "The CRN for this virtual network interface", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this virtual network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/virtual_network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this virtual network interface", "example": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this virtual network interface. The name is unique across all virtual\nnetwork interfaces in the VPC.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "primary_ip": { "allOf": [ { "$ref": "#/components/schemas/ReservedIPReference" }, { "description": "The primary IP for this virtual network interface" } ] }, "resource_type": { "description": "The resource type", "enum": [ "virtual_network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "subnet": { "allOf": [ { "$ref": "#/components/schemas/SubnetReference" }, { "description": "The associated subnet" } ] } }, "required": [ "crn", "href", "id", "name", "primary_ip", "resource_type", "subnet" ], "type": "object", "title": "VirtualNetworkInterfaceReference" }, "VirtualNetworkInterfaceReferenceAttachmentContext": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "id": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "name": "my-virtual-network-interface", "resource_type": "virtual_network_interface" }, "properties": { "crn": { "description": "The CRN for this virtual network interface", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this virtual network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/virtual_network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this virtual network interface", "example": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this virtual network interface. The name is unique across all virtual\nnetwork interfaces in the VPC.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "virtual_network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VirtualNetworkInterfaceReferenceAttachmentContext" }, "VirtualNetworkInterfaceReferenceReservedIPTargetContext": { "properties": { "crn": { "description": "The CRN for this virtual network interface", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "href": { "description": "The URL for this virtual network interface", "example": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces/0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/virtual_network_interfaces/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this virtual network interface", "example": "0717-54eb57ee-86f2-4796-90bb-d7874e0831ef", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this virtual network interface. The name is unique across all virtual\nnetwork interfaces in the VPC.", "example": "my-virtual-network-interface", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "virtual_network_interface" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VirtualNetworkInterfaceReferenceReservedIPTargetContext" }, "VirtualNetworkInterfaceTarget": { "description": "A virtual network interface target.\n\nThe resources supported by this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "oneOf": [ { "$ref": "#/components/schemas/ShareMountTargetReference" }, { "$ref": "#/components/schemas/InstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext" }, { "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext" } ], "type": "object", "title": "VirtualNetworkInterfaceTarget" }, "Volume": { "example": { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "attached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-07T23:16:53.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "iops": 1000, "name": "my-volume", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, "properties": { "active": { "description": "Indicates whether a running virtual server instance has an attachment to this volume.", "type": "boolean" }, "adjustable_capacity_states": { "description": "The attachment states that support adjustable capacity for this volume.", "example": [ "attached", "unattached" ], "items": { "$ref": "#/components/schemas/VolumeAttachmentState" }, "minItems": 0, "type": "array" }, "adjustable_iops_states": { "description": "The attachment states that support adjustable IOPS for this volume.", "example": [ "attached", "unattached" ], "items": { "$ref": "#/components/schemas/VolumeAttachmentState" }, "minItems": 0, "type": "array" }, "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/VolumeAllowedUse" } ], "description": "The usage constraints to be matched against the requested instance or bare metal server\nproperties to determine compatibility.\n\nOnly present for boot volumes." }, "attachment_state": { "$ref": "#/components/schemas/VolumeAttachmentState" }, "bandwidth": { "description": "The maximum bandwidth (in megabits per second) for the volume.\n\nIf the volume profile has a `bandwidth.type` of `dependent`, the [bandwidth is\ncalculated](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-bandwidth#attached-block-vol-bandwidth)\nfrom the `iops` value.\n\nThe minimum and maximum limits for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "format": "int32", "maximum": 8192, "minimum": 100, "type": "integer" }, "busy": { "description": "Indicates whether this volume is performing an operation that must be serialized.\nThis must be `false` to perform an operation that is specified to require serialization.", "type": "boolean" }, "capacity": { "description": "The capacity to use for the volume (in gigabytes).\n\nThe minimum and maximum limits for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "example": 1000, "minimum": 1, "type": "integer" }, "catalog_offering": { "allOf": [ { "$ref": "#/components/schemas/VolumeCatalogOffering" }, { "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering this volume was created from. If a virtual server instance is provisioned\nwith a `boot_volume_attachment` specifying this volume, the virtual server instance\nwill use this volume's catalog offering, including its pricing plan.\n\nIf absent, this volume was not created from a catalog offering." } ] }, "created_at": { "description": "The date and time that the volume was created", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "crn": { "description": "The CRN for this volume", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "encryption": { "description": "The type of encryption used on the volume", "enum": [ "provider_managed", "user_managed" ], "example": "provider_managed", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyReference" }, { "description": "The root key used to wrap the data encryption key for the volume.\n\nThis property will be present for volumes with an `encryption` type of\n`user_managed`." } ] }, "health_reasons": { "description": "The reasons for the current `health_state` (if any).", "items": { "$ref": "#/components/schemas/VolumeHealthReason" }, "minItems": 0, "type": "array" }, "health_state": { "$ref": "#/components/schemas/HealthState" }, "href": { "description": "The URL for this volume", "example": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/volumes/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this volume", "example": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "iops": { "description": "The maximum I/O operations per second (IOPS) for this volume.", "example": 10000, "type": "integer" }, "name": { "description": "The name for this volume. The name is unique across all volumes in the region.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "operating_system": { "allOf": [ { "$ref": "#/components/schemas/OperatingSystem" }, { "description": "The operating system associated with this volume. If absent, this volume was not\ncreated from an image, or the image did not include an operating system." } ] }, "profile": { "allOf": [ { "$ref": "#/components/schemas/VolumeProfileReference" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for\nthis volume." } ] }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupReference" }, { "description": "The resource group for this volume" } ] }, "resource_type": { "description": "The resource type", "enum": [ "volume" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "source_image": { "allOf": [ { "$ref": "#/components/schemas/ImageReference" }, { "description": "The image from which this volume was created (this may be\n[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).\nIf absent, this volume was not created from an image." } ] }, "source_snapshot": { "allOf": [ { "$ref": "#/components/schemas/SnapshotReference" }, { "description": "The snapshot from which this volume was cloned" } ] }, "status": { "description": "The status of the volume.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "failed", "pending", "pending_deletion", "unusable", "updating" ], "example": "available", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "status_reasons": { "description": "The reasons for the current status (if any).", "items": { "$ref": "#/components/schemas/VolumeStatusReason" }, "minItems": 0, "type": "array" }, "storage_generation": { "description": "The [storage\ngeneration](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api#using-api-iops-profiles):\n- `1`: The first storage generation\n- `2`: The second storage generation\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ 1, 2 ], "example": 1, "type": "integer" }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this volume.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "volume_attachments": { "description": "The volume attachments for this volume.", "items": { "$ref": "#/components/schemas/VolumeAttachmentReferenceVolumeContext" }, "type": "array" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneReference" }, { "description": "The zone this volume resides in" } ] } }, "required": [ "active", "adjustable_capacity_states", "adjustable_iops_states", "attachment_state", "bandwidth", "busy", "capacity", "created_at", "crn", "encryption", "health_reasons", "health_state", "href", "id", "iops", "name", "profile", "resource_group", "resource_type", "status", "status_reasons", "storage_generation", "user_tags", "volume_attachments", "zone" ], "type": "object", "title": "Volume" }, "VolumeAllowedUse": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using the image data in this volume.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server\ninstance provisioned using this volume.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "required": [ "api_version", "bare_metal_server", "instance" ], "type": "object", "title": "VolumeAllowedUse" }, "VolumeAllowedUsePatch": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.\n\nIf specified, the value must be between `2019-01-01` and today's date (in UTC).", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using the image data in this volume.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server\ninstance provisioned using this volume\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "type": "object", "title": "VolumeAllowedUsePatch" }, "VolumeAllowedUsePrototype": { "properties": { "api_version": { "description": "The API version with which to evaluate the expressions.\n\nIf specified, the value must be between `2019-01-01` and today's date (in UTC).\nIf unspecified, the `version` query parameter value will be used.", "example": "2024-06-23", "maxLength": 10, "minLength": 10, "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "type": "string" }, "bare_metal_server": { "description": "The expression that must be satisfied by the properties of a bare metal server\nprovisioned using the image data in this volume.\n\nIf unspecified, the expression will be set to `true`.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariable is supported, corresponding to the `BareMetalServer` property:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled", "example": "enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" }, "instance": { "description": "The expression that must be satisfied by the properties of a virtual server instance\nprovisioned using this volume.\n\nIf unspecified, the expression will be set to `true`.\n\nThe expression follows [Common\nExpression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md),\nbut does not support built-in functions and macros. In addition, the following\nvariables are supported, corresponding to `Instance` properties:\n- `enable_secure_boot` (boolean): Indicates whether secure boot is enabled\n- `gpu.count` (integer): The number of GPUs\n- `gpu.manufacturer` (string): The GPU manufacturer\n- `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes)\n- `gpu.model` (string): The GPU model", "example": "gpu.count > 0 && enable_secure_boot == true", "maxLength": 1000, "minLength": 1, "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*|[-+*/%]|&&|\\|\\||!|==|!=|<|<=|>|>=|~|\\bin\\b|\\(|\\)|\\[|\\]|,|\\.|\"|'|\"|'|\\s+|\\d+)+$", "type": "string" } }, "type": "object", "title": "VolumeAllowedUsePrototype" }, "VolumeAttachment": { "example": { "bandwidth": 250, "created_at": "2019-03-15T11:44:07.000Z", "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "name": "my-data-volume-attachment", "status": "attached", "type": "data", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" } }, "properties": { "bandwidth": { "description": "The maximum bandwidth (in megabits per second) for the volume when\nattached to this instance. This may be lower than the volume\nbandwidth depending on the configuration of the instance.", "example": 250, "format": "int32", "type": "integer" }, "created_at": { "description": "The date and time that the volume was attached", "format": "date-time", "maxLength": 64, "minLength": 10, "pattern": "^((?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))(Z|[\\+-]\\d{2}:\\d{2})?)$", "type": "string" }, "delete_volume_on_instance_delete": { "description": "Indicates whether deleting the instance will also delete the attached volume", "type": "boolean" }, "device": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentDevice" } ], "description": "The configuration for the volume as a device in the instance operating system.\n\nThis property may be absent if the volume attachment's `status` is not `attached`.\n" }, "href": { "description": "The URL for this volume attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this volume attachment", "example": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this volume attachment. The name is unique across all volume attachments\non the instance.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "status": { "description": "The status of this volume attachment.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "attached", "attaching", "deleting", "detaching" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "type": { "description": "The type of volume attachment.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "boot", "data" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeReferenceVolumeAttachmentContext" }, { "description": "The attached volume.\n\nThis property will be absent if the volume has not yet been provisioned." } ] } }, "required": [ "bandwidth", "created_at", "delete_volume_on_instance_delete", "href", "id", "name", "status", "type" ], "type": "object", "title": "VolumeAttachment" }, "VolumeAttachmentCollection": { "example": { "volume_attachments": [ { "bandwidth": 250, "created_at": "2024-10-24T16:32:05.000Z", "delete_volume_on_instance_delete": true, "device": { "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a-w8mw8" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-fdb3642d-c849-4c29-97a9-03b868616f88", "id": "0717-fdb3642d-c849-4c29-97a9-03b868616f88", "name": "my-boot-volume-attachment", "status": "attached", "type": "boot", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-89b05e9a-e635-9464-9747-7ae3f9b03303", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-89b05e9a-e635-9464-9747-7ae3f9b03303", "id": "r006-89b05e9a-e635-9464-9747-7ae3f9b03303", "name": "my-boot-volume", "resource_type": "volume" } }, { "bandwidth": 250, "created_at": "2019-03-15T11:44:07.000Z", "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "name": "my-data-volume-attachment", "status": "attached", "type": "data", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" } } ] }, "properties": { "volume_attachments": { "description": "The volume attachments for the instance", "items": { "$ref": "#/components/schemas/VolumeAttachment" }, "type": "array" } }, "required": [ "volume_attachments" ], "type": "object", "title": "VolumeAttachmentCollection" }, "VolumeAttachmentDevice": { "example": { "id": "0717-80b3e36e-41f4-40e9-bd56-beae81792a68-679qb" }, "properties": { "id": { "description": "A unique identifier for the device which is exposed to the instance operating system", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "VolumeAttachmentDevice" }, "VolumeAttachmentPatch": { "properties": { "delete_volume_on_instance_delete": { "description": "Indicates whether deleting the instance will also delete the attached volume", "type": "boolean" }, "name": { "description": "The name for this volume attachment. The name must not be used by another volume\nattachment on the instance.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" } }, "type": "object", "title": "VolumeAttachmentPatch" }, "VolumeAttachmentPrototype": { "example": { "volume": { "capacity": 1000, "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "name": "my-data-volume", "profile": { "name": "5iops-tier" } } }, "properties": { "delete_volume_on_instance_delete": { "default": false, "description": "Indicates whether deleting the instance will also delete the attached volume", "type": "boolean" }, "name": { "description": "The name for this volume attachment. The name must not be used by another volume\nattachment on the instance. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "volume": { "$ref": "#/components/schemas/VolumeAttachmentPrototypeVolume" } }, "required": [ "volume" ], "type": "object", "title": "VolumeAttachmentPrototype" }, "VolumeAttachmentPrototypeInstanceByImageContext": { "example": { "volume": { "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "name": "my-boot-volume", "profile": { "name": "general-purpose" } } }, "properties": { "delete_volume_on_instance_delete": { "default": true, "description": "Indicates whether deleting the instance will also delete the attached volume", "type": "boolean" }, "name": { "description": "The name for this volume attachment. The name must not be used by another volume\nattachment on the instance. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "volume": { "allOf": [ { "$ref": "#/components/schemas/VolumePrototypeInstanceByImageContext" }, { "description": "A prototype object for a new volume" } ] } }, "required": [ "volume" ], "type": "object", "title": "VolumeAttachmentPrototypeInstanceByImageContext" }, "VolumeAttachmentPrototypeInstanceBySourceSnapshotContext": { "properties": { "delete_volume_on_instance_delete": { "default": true, "description": "Indicates whether deleting the instance will also delete the attached volume", "type": "boolean" }, "name": { "description": "The name for this volume attachment. The name must not be used by another volume\nattachment on the instance. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "volume": { "allOf": [ { "$ref": "#/components/schemas/VolumePrototypeInstanceBySourceSnapshotContext" }, { "description": "A prototype object for a new volume from a snapshot." } ] } }, "required": [ "volume" ], "type": "object", "title": "VolumeAttachmentPrototypeInstanceBySourceSnapshotContext" }, "VolumeAttachmentPrototypeInstanceByVolumeContext": { "properties": { "delete_volume_on_instance_delete": { "default": false, "description": "Indicates whether deleting the instance will also delete the attached volume", "type": "boolean" }, "name": { "description": "The name for this volume attachment. The name must not be used by another volume\nattachment on the instance. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeIdentity" }, { "description": "An existing unattached volume." } ] } }, "required": [ "volume" ], "type": "object", "title": "VolumeAttachmentPrototypeInstanceByVolumeContext" }, "VolumeAttachmentPrototypeVolume": { "description": "The volume to use for this attachment. This can be specified as an existing unattached\nvolume, or a prototype object for a new volume.", "example": { "capacity": 1000, "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "name": "my-data-volume", "profile": { "name": "5iops-tier" } }, "oneOf": [ { "$ref": "#/components/schemas/VolumeIdentity" }, { "$ref": "#/components/schemas/VolumePrototypeInstanceContext" } ], "type": "object", "title": "VolumeAttachmentPrototypeVolume" }, "VolumeAttachmentReferenceInstanceContext": { "example": { "device": { "id": "0717-80b3e36e-41f4-40e9-bd56-beae81792a68-679qb" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "name": "my-volume-attachment", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" } }, "properties": { "deleted": { "$ref": "#/components/schemas/Deleted" }, "device": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentDevice" } ], "description": "The configuration for the volume as a device in the instance operating system.\n\nThis property may be absent if the volume attachment's `status` is not `attached`.\n" }, "href": { "description": "The URL for this volume attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this volume attachment", "example": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this volume attachment. The name is unique across all volume attachments\non the instance.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "volume": { "allOf": [ { "$ref": "#/components/schemas/VolumeReferenceVolumeAttachmentContext" }, { "description": "The attached volume.\n\nThis property will be absent if the volume has not yet been provisioned." } ] } }, "required": [ "href", "id", "name" ], "type": "object", "title": "VolumeAttachmentReferenceInstanceContext" }, "VolumeAttachmentReferenceVolumeContext": { "example": { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" }, "properties": { "delete_volume_on_instance_delete": { "description": "Indicates whether deleting the instance will also delete the attached volume", "type": "boolean" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "device": { "allOf": [ { "$ref": "#/components/schemas/VolumeAttachmentDevice" } ], "description": "The configuration for the volume as a device in the instance operating system.\n\nThis property may be absent if the volume attachment's `status` is not `attached`.\n" }, "href": { "description": "The URL for this volume attachment", "example": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "id": { "description": "The unique identifier for this volume attachment", "example": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "instance": { "allOf": [ { "$ref": "#/components/schemas/InstanceReference" }, { "description": "The attached instance" } ] }, "name": { "description": "The name for this volume attachment. The name is unique across all volume attachments\non the instance.", "example": "my-volume-attachment", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "type": { "description": "The type of volume attachment.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "boot", "data" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "delete_volume_on_instance_delete", "href", "id", "instance", "name", "type" ], "type": "object", "title": "VolumeAttachmentReferenceVolumeContext" }, "VolumeAttachmentState": { "description": "The attachment state of the volume\n- `unattached`: Not attached to any virtual server instances\n- `attached`: Attached to a virtual server instance (even if the instance is stopped)\n- `unusable`: Not able to be attached to any virtual server instances", "enum": [ "attached", "unattached", "unusable" ], "example": "attached", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "VolumeAttachmentState" }, "VolumeByCapacity": { "properties": { "capacity": { "description": "The capacity to use for the volume (in gigabytes). The specified value must be within\nthe `capacity` range of the volume's profile.", "example": 100, "type": "integer" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" }, { "description": "The root key to use to wrap the data encryption key for the volume.\n\nIf unspecified, the `encryption` type for the volume will be `provider_managed`." } ] } }, "required": [ "capacity" ], "type": "object", "title": "VolumeByCapacity" }, "VolumeBySourceSnapshot": { "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/VolumeAllowedUsePrototype" } ], "description": "The usage constraints to be matched against requested instance or bare metal server\nproperties to determine compatibility.\n\nCan only be specified if `source_snapshot` is bootable. If not specified, the value of\nthis property will be inherited from the `source_snapshot`" }, "capacity": { "description": "The capacity to use for the volume (in gigabytes). The specified value must be at least\nthe snapshot's `minimum_capacity`, and must be within the `capacity` range of the\nvolume's profile.\n\nIf unspecified, the capacity will be the source snapshot's `minimum_capacity`.", "example": 100, "type": "integer" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" }, { "description": "The root key to use to wrap the data encryption key for the volume.\n\nIf unspecified, the `encryption` type for the volume will be `provider_managed`." } ], "description": "The root key to use to wrap the data encryption key for the volume.\n\nIf unspecified, the snapshot's `encryption_key` will be used." }, "source_snapshot": { "allOf": [ { "$ref": "#/components/schemas/SnapshotIdentity" }, { "description": "The snapshot to use as a source for the volume's data.\n\nThe specified snapshot may be in a different account, subject to IAM policies.\n\nTo create a volume from a `source_snapshot`, the volume profile and the\nsource snapshot must have the same `storage_generation` value." } ], "example": { "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263" } } }, "required": [ "source_snapshot" ], "type": "object", "title": "VolumeBySourceSnapshot" }, "VolumeCatalogOffering": { "properties": { "plan": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionPlanReference" } ], "description": "The billing plan associated with the catalog offering version.\n\nIf absent, no billing plan is associated with the catalog offering version\n(free)." }, "version": { "allOf": [ { "$ref": "#/components/schemas/CatalogOfferingVersionReference" } ], "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering version this volume was created from." } }, "required": [ "version" ], "type": "object", "title": "VolumeCatalogOffering" }, "VolumeCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes?limit=50" }, "limit": 50, "total_count": 3, "volumes": [ { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "attached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-07T23:16:53.000Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "iops": 1000, "name": "my-volume", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } }, { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "unattached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-08T06:36:17Z", "crn": "crn:v1:bluemix:public:is:us-south-2:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-9de3e18c-cec9-4cac-a64a-0bdfab21e9d4", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-9de3e18c-cec9-4cac-a64a-0bdfab21e9d4", "id": "r006-9de3e18c-cec9-4cac-a64a-0bdfab21e9d4", "iops": 1000, "name": "my-volume-2", "profile": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2", "name": "us-south-1", "zone": "us-south-2" } }, { "active": false, "adjustable_capacity_states": [ "attached" ], "adjustable_iops_states": [ "attached" ], "attachment_state": "unattached", "bandwidth": 1000, "busy": false, "capacity": 100, "created_at": "2024-10-02T04:12:19Z", "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-89ba05e9-6e35-4964-9747-7ae3f9b30303", "encryption": "user_managed", "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-89ba05e9-6e35-4964-9747-7ae3f9b30303", "id": "r006-89ba05e9-6e35-4964-9747-7ae3f9b30303", "iops": 1000, "name": "my-volume-3", "profile": { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "custom", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/5iops-tier", "iops": { "max": 48000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "5iops-tier", "storage_generation": { "type": "fixed", "value": 2 } }, "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345", "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "volume", "status": "available", "status_reasons": [], "storage_generation": 1, "user_tags": [], "volume_attachments": [ { "delete_volume_on_instance_delete": false, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/volume_attachments/0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "id": "0717-82cbf856-9cbb-45fb-b62f-d7bcef32399a", "instance": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0", "name": "my-instance" }, "name": "my-volume-attachment", "type": "data" } ], "zone": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" } } ] }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" }, "volumes": { "description": "A page of volumes", "items": { "$ref": "#/components/schemas/Volume" }, "type": "array" } }, "required": [ "first", "limit", "total_count", "volumes" ], "type": "object", "title": "VolumeCollection" }, "VolumeHealthReason": { "properties": { "code": { "description": "A reason code for this health state.", "enum": [ "initializing_from_snapshot", "throttled_by_insufficient_instance_bandwidth" ], "example": "initializing_from_snapshot", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the reason for this health state.", "example": "Performance will be degraded while this volume is being initialized from its snapshot", "type": "string" }, "more_info": { "description": "A link to documentation about the reason for this health state.", "example": "https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-troubleshooting&interface=ui#snapshot_ts_degraded_perf", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VolumeHealthReason" }, "VolumeIdentity": { "description": "Identifies a volume by a unique property.", "example": { "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5" }, "oneOf": [ { "$ref": "#/components/schemas/VolumeIdentityById" }, { "$ref": "#/components/schemas/VolumeIdentityByCRN" }, { "$ref": "#/components/schemas/VolumeIdentityByHref" } ], "type": "object", "title": "VolumeIdentity" }, "VolumeIdentityByCRN": { "properties": { "crn": { "description": "The CRN for this volume", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" } }, "required": [ "crn" ], "type": "object", "title": "VolumeIdentityByCRN" }, "VolumeIdentityByHref": { "properties": { "href": { "description": "The URL for this volume", "example": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/volumes/[-0-9a-z_]+$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "VolumeIdentityByHref" }, "VolumeIdentityById": { "properties": { "id": { "description": "The unique identifier for this volume", "example": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" } }, "required": [ "id" ], "type": "object", "title": "VolumeIdentityById" }, "VolumeInstanceProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/{id}/instance_profiles?limit=50" }, "instance_profiles": [ { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-2x8", "name": "bx2-2x8", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16", "name": "bx2-4x16", "resource_type": "instance_profile" }, { "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-8x32", "name": "bx2-8x32", "resource_type": "instance_profile" } ], "limit": 50, "total_count": 3 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/{id}/instance_profiles?limit=20" } }, "instance_profiles": { "description": "A page of instance profiles compatible with the volume", "items": { "$ref": "#/components/schemas/InstanceProfileReference" }, "type": "array" }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "instance_profiles", "limit", "total_count" ], "type": "object", "title": "VolumeInstanceProfileCollection" }, "VolumePatch": { "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/VolumeAllowedUsePatch" } ], "description": "The usage constraints to be matched against the requested instance or bare metal server\nproperties to determine compatibility.\n\nCan only be specified for boot volumes with an `attachment_state` of `unattached`." }, "bandwidth": { "description": "The maximum bandwidth (in megabits per second) for the volume.\n\nIf specified, the volume profile must not have a `bandwidth.type` of `dependent`.", "format": "int32", "maximum": 8192, "minimum": 1000, "type": "integer", "x-ibm-release-level": "preview" }, "capacity": { "description": "The capacity to use for the volume (in gigabytes). For the capacity to be changed\nthe volume's current `attachment_state` must be one of the values included in\n`adjustable_capacity_states`. If `adjustable_capacity_states` is empty, then the\nvolume capacity cannot be changed. Additionally:\n- The specified value must not be less than the current capacity.\n- If the volume is attached as a boot volume, the specified value must not exceed\n the `boot_capacity.max` of the volume profile.\n- If the volume is attached as a data volume, the specified value must not exceed\n the `capacity.max` of the volume profile.", "example": 100, "type": "integer" }, "iops": { "description": "The maximum I/O operations per second (IOPS) to use for this volume. For the\nIOPS to be changed the volume's current `attachment_state` must be one of the\nvalues included in `adjustable_iops_states`. If `adjustable_iops_states` is empty,\nthen the IOPS cannot be changed.", "example": 10000, "type": "integer" }, "name": { "description": "The name for this volume. The name must not be used by another volume in the region.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/VolumeProfileIdentity" }, { "description": "The profile to use for this volume. The requested profile must have the same\n`family` and `storage_generation` values as the current profile. Additionally:\n- If the volume is a boot volume then the value specified for `capacity` property\nmust not be less than the `boot_capacity.min` and must not exceed the\n`boot_capacity.max` of the specified volume profile.\n- If the volume is a data volume then the value specified for `capacity` property\nmust not be less than the `capacity.min` and must not exceed the `capacity.max`\nof the specified volume profile." } ] }, "user_tags": { "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this volume (replacing any existing tags).", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "type": "object", "x-unevaluatedProperties": false, "title": "VolumePatch" }, "VolumeProfile": { "example": { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "custom", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "iops": { "max": 48000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "custom", "storage_generation": { "type": "fixed", "value": 2 } }, "properties": { "adjustable_capacity_states": { "$ref": "#/components/schemas/VolumeProfileAdjustableCapacityStates" }, "adjustable_iops_states": { "$ref": "#/components/schemas/VolumeProfileAdjustableIOPSStates" }, "bandwidth": { "$ref": "#/components/schemas/VolumeProfileBandwidth" }, "boot_capacity": { "$ref": "#/components/schemas/VolumeProfileBootCapacity" }, "capacity": { "$ref": "#/components/schemas/VolumeProfileCapacity" }, "family": { "description": "The product family this volume profile belongs to.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "custom", "defined_performance", "tiered" ], "example": "tiered", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "href": { "description": "The URL for this volume profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "iops": { "$ref": "#/components/schemas/VolumeProfileIOPS" }, "name": { "description": "The globally unique name for this volume profile", "example": "general-purpose", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "storage_generation": { "$ref": "#/components/schemas/VolumeProfileStorageGenerationFixed" } }, "required": [ "adjustable_capacity_states", "adjustable_iops_states", "bandwidth", "boot_capacity", "capacity", "family", "href", "iops", "name", "storage_generation" ], "type": "object", "title": "VolumeProfile" }, "VolumeProfileAdjustableCapacityStates": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The attachment states that support adjustable capacity for a volume with this profile.", "example": [ "attached", "unattached" ], "items": { "description": "The attachment state of the volume\n- `unattached`: Not attached to any virtual server instances\n- `attached`: Attached to a virtual server instance (even if the instance is stopped)\n- `unusable`: Not able to be attached to any virtual server instances", "enum": [ "attached", "unattached", "unusable" ], "example": "attached", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 0, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "VolumeProfileAdjustableCapacityStates" }, "VolumeProfileAdjustableIOPSStates": { "properties": { "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The attachment states that support adjustable IOPS for a volume with this profile.", "example": [ "attached", "unattached" ], "items": { "description": "The attachment state of the volume\n- `unattached`: Not attached to any virtual server instances\n- `attached`: Attached to a virtual server instance (even if the instance is stopped)\n- `unusable`: Not able to be attached to any virtual server instances", "enum": [ "attached", "unattached", "unusable" ], "example": "attached", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "minItems": 0, "type": "array" } }, "required": [ "type", "values" ], "type": "object", "title": "VolumeProfileAdjustableIOPSStates" }, "VolumeProfileBandwidth": { "oneOf": [ { "$ref": "#/components/schemas/VolumeProfileBandwidthFixed" }, { "$ref": "#/components/schemas/VolumeProfileBandwidthRange" }, { "$ref": "#/components/schemas/VolumeProfileBandwidthEnum" }, { "$ref": "#/components/schemas/VolumeProfileBandwidthDependentRange" }, { "$ref": "#/components/schemas/VolumeProfileBandwidthDependent" } ], "type": "object", "title": "VolumeProfileBandwidth" }, "VolumeProfileBandwidthDependent": { "description": "The maximum bandwidth (in Mbps) of a volume with this profile depends on its configuration", "properties": { "type": { "description": "The type for this profile field", "enum": [ "dependent" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "type" ], "type": "object", "title": "VolumeProfileBandwidthDependent" }, "VolumeProfileBandwidthDependentRange": { "description": "The maximum bandwidth (in Mbps) of a volume with this profile varies depending on its\nconfiguration.", "properties": { "max": { "description": "The maximum value for this profile field.", "example": 8192, "type": "integer" }, "min": { "description": "The minimum value for this profile field.", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "dependent_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileBandwidthDependentRange" }, "VolumeProfileBandwidthEnum": { "description": "The available maximum bandwidth values (in Mbps) of a volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1000, 2000, 4000, 8192 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "VolumeProfileBandwidthEnum" }, "VolumeProfileBandwidthFixed": { "description": "The maximum bandwidth (in Mbps) of a volume with this profile is fixed.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4000, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "VolumeProfileBandwidthFixed" }, "VolumeProfileBandwidthRange": { "description": "The maximum bandwidth range (in Mbps) of a volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 8192, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileBandwidthRange" }, "VolumeProfileBootCapacity": { "example": { "type": "fixed", "value": 20000 }, "oneOf": [ { "$ref": "#/components/schemas/VolumeProfileBootCapacityFixed" }, { "$ref": "#/components/schemas/VolumeProfileBootCapacityRange" }, { "$ref": "#/components/schemas/VolumeProfileBootCapacityEnum" }, { "$ref": "#/components/schemas/VolumeProfileBootCapacityDependentRange" } ], "type": "object", "title": "VolumeProfileBootCapacity" }, "VolumeProfileBootCapacityDependentRange": { "description": "The permitted total capacity (in gigabytes) of a boot volume with this profile depends on\nits configuration.", "properties": { "max": { "description": "The maximum value for this profile field.", "example": 16000, "type": "integer" }, "min": { "description": "The minimum value for this profile field.", "example": 10, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "dependent_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileBootCapacityDependentRange" }, "VolumeProfileBootCapacityEnum": { "description": "The permitted total capacities (in gigabytes) of a boot volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 4800, 9600, 16000, 32000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "VolumeProfileBootCapacityEnum" }, "VolumeProfileBootCapacityFixed": { "description": "The permitted total capacity (in gigabytes) of a boot volume with this profile is fixed.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4800, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "VolumeProfileBootCapacityFixed" }, "VolumeProfileBootCapacityRange": { "description": "The permitted total capacity range (in gigabytes) of a boot volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 9600, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 5, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileBootCapacityRange" }, "VolumeProfileCapacity": { "example": { "type": "fixed", "value": 20000 }, "oneOf": [ { "$ref": "#/components/schemas/VolumeProfileCapacityFixed" }, { "$ref": "#/components/schemas/VolumeProfileCapacityRange" }, { "$ref": "#/components/schemas/VolumeProfileCapacityEnum" }, { "$ref": "#/components/schemas/VolumeProfileCapacityDependentRange" } ], "type": "object", "title": "VolumeProfileCapacity" }, "VolumeProfileCapacityDependentRange": { "description": "The permitted total capacity (in gigabytes) of a data volume with this profile depends on\nits configuration.", "properties": { "max": { "description": "The maximum value for this profile field.", "example": 16000, "type": "integer" }, "min": { "description": "The minimum value for this profile field.", "example": 10, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "dependent_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileCapacityDependentRange" }, "VolumeProfileCapacityEnum": { "description": "The permitted total capacities (in gigabytes) of a data volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 4800, 9600, 16000, 32000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "VolumeProfileCapacityEnum" }, "VolumeProfileCapacityFixed": { "description": "The permitted total capacity (in gigabytes) of a data volume with this profile is fixed.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4800, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "VolumeProfileCapacityFixed" }, "VolumeProfileCapacityRange": { "description": "The permitted total capacity range (in gigabytes) of a data volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 9600, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 5, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileCapacityRange" }, "VolumeProfileCollection": { "example": { "first": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles?limit=50" }, "limit": 50, "profiles": [ { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "custom", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "iops": { "max": 48000, "min": 100, "step": 1, "type": "dependent_range" }, "name": "custom", "storage_generation": { "type": "fixed", "value": 2 } }, { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 4800, "min": 10, "step": 1, "type": "dependent_range" }, "family": "tiered", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/10iops-tier", "iops": { "max": 48000, "min": 3000, "step": 1, "type": "dependent_range" }, "name": "10iops-tier", "storage_generation": { "type": "fixed", "value": 2 } }, { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 9600, "min": 10, "step": 1, "type": "dependent_range" }, "family": "tiered", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/5iops-tier", "iops": { "max": 48000, "min": 3000, "step": 1, "type": "dependent_range" }, "name": "5iops-tier", "storage_generation": { "type": "fixed", "value": 2 } }, { "adjustable_capacity_states": { "type": "enum", "values": [ "attached" ] }, "adjustable_iops_states": { "type": "enum", "values": [ "attached" ] }, "bandwidth": { "max": 8192, "min": 1000, "step": 1, "type": "dependent_range" }, "boot_capacity": { "max": 250, "min": 10, "step": 1, "type": "dependent_range" }, "capacity": { "max": 16000, "min": 10, "step": 1, "type": "dependent_range" }, "family": "tiered", "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose", "iops": { "max": 48000, "min": 3000, "step": 1, "type": "dependent_range" }, "name": "general-purpose", "storage_generation": { "type": "fixed", "value": 2 } } ], "total_count": 4 }, "properties": { "first": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the first page of resources", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles?limit=20" } }, "limit": { "description": "The maximum number of resources that can be returned by the request", "example": 20, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" }, "next": { "allOf": [ { "$ref": "#/components/schemas/PageLink" } ], "description": "A link to the next page of resources. This property is present for all pages\nexcept the last page", "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20" } }, "profiles": { "description": "A page of volume profiles", "items": { "$ref": "#/components/schemas/VolumeProfile" }, "type": "array" }, "total_count": { "description": "The total number of resources across all pages", "example": 132, "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "first", "limit", "profiles", "total_count" ], "type": "object", "title": "VolumeProfileCollection" }, "VolumeProfileIOPS": { "example": { "type": "fixed", "value": 10000 }, "oneOf": [ { "$ref": "#/components/schemas/VolumeProfileIOPSFixed" }, { "$ref": "#/components/schemas/VolumeProfileIOPSRange" }, { "$ref": "#/components/schemas/VolumeProfileIOPSEnum" }, { "$ref": "#/components/schemas/VolumeProfileIOPSDependentRange" } ], "type": "object", "title": "VolumeProfileIOPS" }, "VolumeProfileIOPSDependentRange": { "description": "The permitted IOPS range of a volume with this profile depends on its configuration.", "properties": { "max": { "description": "The maximum value for this profile field.", "example": 48000, "type": "integer" }, "min": { "description": "The minimum value for this profile field.", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "dependent_range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileIOPSDependentRange" }, "VolumeProfileIOPSEnum": { "description": "The permitted IOPS values of a volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "enum" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "values": { "description": "The permitted values for this profile field", "example": [ 1000, 2000, 4000 ], "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "default", "type", "values" ], "type": "object", "title": "VolumeProfileIOPSEnum" }, "VolumeProfileIOPSFixed": { "description": "The permitted IOPS of a volume with this profile is fixed.", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 4000, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "VolumeProfileIOPSFixed" }, "VolumeProfileIOPSRange": { "description": "The permitted IOPS range of a volume with this profile.", "properties": { "default": { "description": "The default value for this profile field", "type": "integer" }, "max": { "description": "The maximum value for this profile field", "example": 48000, "type": "integer" }, "min": { "description": "The minimum value for this profile field", "example": 1000, "type": "integer" }, "step": { "description": "The increment step value for this profile field", "example": 1, "type": "integer" }, "type": { "description": "The type for this profile field", "enum": [ "range" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "default", "max", "min", "step", "type" ], "type": "object", "title": "VolumeProfileIOPSRange" }, "VolumeProfileIdentity": { "description": "Identifies a volume profile by a unique property.", "example": { "name": "general-purpose" }, "oneOf": [ { "$ref": "#/components/schemas/VolumeProfileIdentityByName" }, { "$ref": "#/components/schemas/VolumeProfileIdentityByHref" } ], "type": "object", "title": "VolumeProfileIdentity" }, "VolumeProfileIdentityByHref": { "properties": { "href": { "description": "The URL for this volume profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "VolumeProfileIdentityByHref" }, "VolumeProfileIdentityByName": { "properties": { "name": { "description": "The globally unique name for this volume profile", "example": "general-purpose", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "VolumeProfileIdentityByName" }, "VolumeProfileReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom", "name": "custom" }, "properties": { "href": { "description": "The URL for this volume profile", "example": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this volume profile", "example": "general-purpose", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "name" ], "type": "object", "title": "VolumeProfileReference" }, "VolumeProfileStorageGenerationFixed": { "description": "The storage generation value of volumes of this profile", "properties": { "type": { "description": "The type for this profile field", "enum": [ "fixed" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "value": { "description": "The value for this profile field", "example": 1, "type": "integer" } }, "required": [ "type", "value" ], "type": "object", "title": "VolumeProfileStorageGenerationFixed" }, "VolumePrototype": { "anyOf": [ { "$ref": "#/components/schemas/VolumeByCapacity" }, { "$ref": "#/components/schemas/VolumeBySourceSnapshot" } ], "properties": { "bandwidth": { "description": "The maximum bandwidth (in megabits per second) for the volume.\n\nIf the volume profile has a `bandwidth.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [`iops` and\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "format": "int32", "maximum": 8192, "minimum": 1000, "type": "integer", "x-ibm-release-level": "preview" }, "iops": { "description": "The maximum I/O operations per second (IOPS) to use for this volume.\n\nIf the volume profile has a `iops.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "example": 10000, "type": "integer" }, "name": { "description": "The name for this volume. The name must not be used by another volume in the region.\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/VolumeProfileIdentity" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for\nthis volume." } ], "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for\nthis volume.\n\nTo create a volume from a `source_snapshot`, the volume profile and the\nsource snapshot must have the same `storage_generation` value.", "example": { "name": "general-purpose" } }, "resource_group": { "$ref": "#/components/schemas/ResourceGroupIdentity" }, "user_tags": { "default": [], "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this volume.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" }, "zone": { "allOf": [ { "$ref": "#/components/schemas/ZoneIdentity" }, { "description": "The zone this volume will reside in" } ] } }, "required": [ "profile", "zone" ], "type": "object", "x-unevaluatedProperties": false, "title": "VolumePrototype" }, "VolumePrototypeInstanceByImageContext": { "example": { "encryption_key": { "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179" }, "name": "my-boot-volume", "profile": { "name": "general-purpose" } }, "not": { "$ref": "#/components/schemas/VolumePrototypeInstanceByImageContextNot" }, "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/VolumeAllowedUsePrototype" } ], "description": "The usage constraints to be matched against requested instance or bare metal server\nproperties to determine compatibility.\n\nCan only be specified if `source_snapshot` is bootable. If not specified, the value of\nthis property will be inherited from the `source_image`" }, "bandwidth": { "description": "The maximum bandwidth (in megabits per second) for the volume.\n\nIf the volume profile has a `bandwidth.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [`iops` and\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "format": "int32", "maximum": 8192, "minimum": 1000, "type": "integer", "x-ibm-release-level": "preview" }, "capacity": { "description": "The capacity to use for the volume (in gigabytes). The specified value must be at\nleast the image's `minimum_provisioned_size`, at most 250 gigabytes, and within the\n`boot_capacity` range of the volume's profile.\n\nIf unspecified, the capacity will be the image's `minimum_provisioned_size`.", "example": 100, "maximum": 250, "type": "integer" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" }, { "description": "The root key to use to wrap the data encryption key for the volume.\n\nIf unspecified, the `encryption` type for the volume will be `provider_managed`." } ], "description": "The root key to use to wrap the data encryption key for the volume.\n\nIf unspecified, and the image is encrypted, the image's `encryption_key` will be\nused. Otherwise, the `encryption` type for the volume will be `provider_managed`." }, "iops": { "description": "The maximum I/O operations per second (IOPS) to use for this volume.\n\nIf the volume profile has a `iops.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "example": 10000, "type": "integer" }, "name": { "description": "The name for this volume. The name must not be used by another volume in the region.\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/VolumeProfileIdentity" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for\nthis volume." } ], "example": { "name": "general-purpose" } }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use for this volume. If unspecified, the instance's resource\ngroup will be used." } ] }, "user_tags": { "default": [], "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this volume.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "required": [ "profile" ], "type": "object", "title": "VolumePrototypeInstanceByImageContext" }, "VolumePrototypeInstanceByImageContextNot": { "properties": { "source_snapshot": { "$ref": "#/components/schemas/SnapshotIdentity" } }, "required": [ "source_snapshot" ], "type": "object", "title": "VolumePrototypeInstanceByImageContextNot" }, "VolumePrototypeInstanceBySourceSnapshotContext": { "properties": { "allowed_use": { "allOf": [ { "$ref": "#/components/schemas/VolumeAllowedUsePrototype" } ], "description": "The usage constraints to be matched against requested instance or bare metal server\nproperties to determine compatibility.\n\nCan only be specified if `source_snapshot` is bootable. If not specified, the value of\nthis property will be inherited from the `source_snapshot`" }, "bandwidth": { "description": "The maximum bandwidth (in megabits per second) for the volume.\n\nIf the volume profile has a `bandwidth.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [`iops` and\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "format": "int32", "maximum": 8192, "minimum": 1000, "type": "integer", "x-ibm-release-level": "preview" }, "capacity": { "description": "The capacity to use for the volume (in gigabytes). The specified value must be at least\nthe snapshot's `minimum_capacity`, at most 250 gigabytes, and within the `boot_capacity`\nrange of the volume's profile.", "example": 100, "maximum": 250, "type": "integer" }, "encryption_key": { "allOf": [ { "$ref": "#/components/schemas/EncryptionKeyIdentity" }, { "description": "The root key to use to wrap the data encryption key for the volume.\n\nIf unspecified, the `encryption` type for the volume will be `provider_managed`." } ], "description": "The root key to use to wrap the data encryption key for the volume.\n\nIf unspecified, the snapshot's `encryption_key` will be used." }, "iops": { "description": "The maximum I/O operations per second (IOPS) to use for this volume.\n\nIf the volume profile has a `iops.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "example": 10000, "type": "integer" }, "name": { "description": "The name for this volume. The name must not be used by another volume in the region.\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/VolumeProfileIdentity" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for\nthis volume." } ], "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for\nthis volume.\n\nTo create a volume from a `source_snapshot`, the volume profile and the\nsource snapshot must have the same `storage_generation` value.", "example": { "name": "general-purpose" } }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use for this volume. If unspecified, the instance's resource\ngroup will be used." } ] }, "source_snapshot": { "allOf": [ { "$ref": "#/components/schemas/SnapshotIdentity" }, { "description": "The snapshot to use as a source for the volume's data.\n\nThe specified snapshot may be in a different account, subject to IAM policies.\n\nTo create a volume from a `source_snapshot`, the volume profile and the\nsource snapshot must have the same `storage_generation` value." } ], "example": { "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263" } }, "user_tags": { "default": [], "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this volume.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "required": [ "profile", "source_snapshot" ], "type": "object", "title": "VolumePrototypeInstanceBySourceSnapshotContext" }, "VolumePrototypeInstanceContext": { "anyOf": [ { "$ref": "#/components/schemas/VolumeByCapacity" }, { "$ref": "#/components/schemas/VolumeBySourceSnapshot" } ], "properties": { "bandwidth": { "description": "The maximum bandwidth (in megabits per second) for the volume.\n\nIf the volume profile has a `bandwidth.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [`iops` and\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "format": "int32", "maximum": 8192, "minimum": 1000, "type": "integer", "x-ibm-release-level": "preview" }, "iops": { "description": "The maximum I/O operations per second (IOPS) to use for this volume.\n\nIf the volume profile has a `iops.type` of `dependent`, this property is\nsystem-managed and must not be specified.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [\n`capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api).", "example": 10000, "type": "integer" }, "name": { "description": "The name for this volume. The name must not be used by another volume in the region.\nIf unspecified, the name will be a hyphenated list of randomly-selected words.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$", "type": "string" }, "profile": { "allOf": [ { "$ref": "#/components/schemas/VolumeProfileIdentity" }, { "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for\nthis volume." } ], "example": { "name": "general-purpose" } }, "resource_group": { "allOf": [ { "$ref": "#/components/schemas/ResourceGroupIdentity" }, { "description": "The resource group to use for this volume. If unspecified, the instance's resource\ngroup will be used." } ] }, "user_tags": { "default": [], "description": "The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)\nassociated with this volume.", "items": { "$ref": "#/components/schemas/Tag" }, "maxItems": 1000, "minItems": 0, "type": "array" } }, "required": [ "profile" ], "type": "object", "title": "VolumePrototypeInstanceContext" }, "VolumeReference": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "properties": { "crn": { "description": "The CRN for this volume", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this volume", "example": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/volumes/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this volume", "example": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this volume. The name is unique across all volumes in the region.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "remote": { "$ref": "#/components/schemas/VolumeRemote" }, "resource_type": { "description": "The resource type", "enum": [ "volume" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VolumeReference" }, "VolumeReferenceVolumeAttachmentContext": { "example": { "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "name": "my-volume", "resource_type": "volume" }, "properties": { "crn": { "description": "The CRN for this volume", "example": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 512, "minLength": 17, "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$", "type": "string" }, "deleted": { "$ref": "#/components/schemas/Deleted" }, "href": { "description": "The URL for this volume", "example": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 8000, "minLength": 10, "pattern": "^https:\\/\\/([^\\/?#]*)([^?#]*)/volumes/[-0-9a-z_]+$", "type": "string" }, "id": { "description": "The unique identifier for this volume", "example": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5", "maxLength": 64, "minLength": 1, "pattern": "^[-0-9a-z_]+$", "type": "string" }, "name": { "description": "The name for this volume. The name is unique across all volumes in the region.", "example": "my-volume", "maxLength": 63, "minLength": 1, "pattern": "^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "volume" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "href", "id", "name", "resource_type" ], "type": "object", "title": "VolumeReferenceVolumeAttachmentContext" }, "VolumeRemote": { "description": "If present, this property indicates that the resource associated with this reference\nis remote and therefore may not be directly retrievable.", "properties": { "region": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" } ], "description": "If present, this property indicates that the referenced resource is remote to this\nregion, and identifies the native region." } }, "type": "object", "title": "VolumeRemote" }, "VolumeStatusReason": { "properties": { "code": { "description": "A snake case string succinctly identifying the status reason.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "encryption_key_deleted" ], "example": "encryption_key_deleted", "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" }, "message": { "description": "An explanation of the status reason", "maxLength": 512, "minLength": 1, "pattern": "^[ -~\\n\\r\\t]*$", "type": "string" }, "more_info": { "description": "A link to documentation about this status reason", "example": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "code", "message" ], "type": "object", "title": "VolumeStatusReason" }, "WatsonxMachineLearningReference": { "example": { "crn": "crn:v1:bluemix:public:pm-20:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:6500f05d-a5b5-4ecf-91ba-0d12b9dee607::", "resource_type": "watsonx_machine_learning" }, "properties": { "crn": { "description": "The CRN for the watsonx machine learning resource", "example": "crn:v1:bluemix:public:pm-20:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:6500f05d-a5b5-4ecf-91ba-0d12b9dee607::", "maxLength": 512, "minLength": 17, "pattern": "^crn:v1:bluemix:public:pm-20:[a-z-]+:a/aa2432b1fa4d4ace891e9b80fc104e34:[0-9a-f-]+::$", "type": "string" }, "resource_type": { "description": "The resource type", "enum": [ "watsonx_machine_learning" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string" } }, "required": [ "crn", "resource_type" ], "type": "object", "title": "WatsonxMachineLearningReference" }, "Zone": { "example": { "data_center": "DAL10", "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1", "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" }, "status": "available", "universal_name": "us-south-dal10-a" }, "properties": { "data_center": { "description": "The physical data center assigned to this logical zone.\n\nIf absent, no physical data center has been assigned.", "example": "DAL12", "maxLength": 10, "minLength": 4, "pattern": "^[A-Z]+[0-9]+$", "type": "string" }, "href": { "description": "The URL for this zone", "example": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this zone", "example": "us-south-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" }, "region": { "$ref": "#/components/schemas/ZoneRegion" }, "status": { "$ref": "#/components/schemas/ZoneStatus" }, "universal_name": { "description": "The [universal\nname](https://cloud.ibm.com/docs/overview?topic=overview-locations#zone-mapping)\nfor this zone. Will be absent if this zone has a `status` of `unassigned`.", "example": "us-south-dal10-a", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "name", "region", "status" ], "type": "object", "title": "Zone" }, "ZoneCollection": { "example": { "zones": [ { "data_center": "DAL10", "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1", "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" }, "status": "available", "universal_name": "us-south-dal10-a" }, { "data_center": "DAL12", "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2", "name": "us-south-2", "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" }, "status": "available", "universal_name": "us-south-dal12-a" }, { "data_center": "DAL13", "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3", "name": "us-south-3", "region": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south", "name": "us-south" }, "status": "available", "universal_name": "us-south-dal13-a" } ] }, "properties": { "zones": { "description": "The zones for the region", "items": { "$ref": "#/components/schemas/Zone" }, "type": "array" } }, "required": [ "zones" ], "type": "object", "title": "ZoneCollection" }, "ZoneIdentity": { "description": "Identifies a zone by a unique property.", "example": { "name": "us-south-1" }, "oneOf": [ { "$ref": "#/components/schemas/ZoneIdentityByName" }, { "$ref": "#/components/schemas/ZoneIdentityByHref" } ], "type": "object", "title": "ZoneIdentity" }, "ZoneIdentityByHref": { "properties": { "href": { "description": "The URL for this zone", "example": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" } }, "required": [ "href" ], "type": "object", "title": "ZoneIdentityByHref" }, "ZoneIdentityByName": { "properties": { "name": { "description": "The globally unique name for this zone", "example": "us-south-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "name" ], "type": "object", "title": "ZoneIdentityByName" }, "ZoneReference": { "example": { "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "name": "us-south-1" }, "properties": { "href": { "description": "The URL for this zone", "example": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1", "maxLength": 8000, "minLength": 10, "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$", "type": "string" }, "name": { "description": "The globally unique name for this zone", "example": "us-south-1", "maxLength": 63, "minLength": 1, "pattern": "^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$", "type": "string" } }, "required": [ "href", "name" ], "type": "object", "title": "ZoneReference" }, "ZoneRegion": { "allOf": [ { "$ref": "#/components/schemas/RegionReference" }, { "description": "The region this zone resides in" } ], "title": "ZoneRegion" }, "ZoneStatus": { "description": "The status of the zone.\n\n- `available`: The zone is available to create and manage resources.\n- `impaired`: The zone's availability and performance to create and manage resources\n may be impaired.\n- `unavailable`: The zone is unavailable to create and manage resources.\n- `unassigned`: The zone has not been assigned to a physical zone.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.", "enum": [ "available", "impaired", "unassigned", "unavailable" ], "maxLength": 128, "minLength": 1, "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$", "type": "string", "title": "ZoneStatus" } }, "securitySchemes": { "iamToken": { "description": "This API uses OAuth 2 with the implicit grant flow.", "flows": { "implicit": { "authorizationUrl": "https://iam.cloud.ibm.com/identity/authorize", "scopes": {} } }, "type": "oauth2" } } } }