{
  "tags": [
    {
      "name": "Backup policies"
    },
    {
      "name": "Bare metal servers"
    },
    {
      "name": "Cluster networks"
    },
    {
      "name": "Dedicated hosts"
    },
    {
      "name": "Endpoint gateways"
    },
    {
      "name": "Floating IPs"
    },
    {
      "name": "Flow log collectors"
    },
    {
      "name": "Geography"
    },
    {
      "name": "Images"
    },
    {
      "name": "Instance groups"
    },
    {
      "name": "Instance templates"
    },
    {
      "name": "Instances"
    },
    {
      "name": "Keys"
    },
    {
      "name": "Load balancers"
    },
    {
      "name": "Network ACLs"
    },
    {
      "name": "Placement groups"
    },
    {
      "name": "Private path service gateways"
    },
    {
      "name": "Public address ranges"
    },
    {
      "name": "Public gateways"
    },
    {
      "name": "Reservations"
    },
    {
      "name": "Security groups"
    },
    {
      "name": "Shares"
    },
    {
      "name": "Snapshots"
    },
    {
      "name": "Subnets"
    },
    {
      "name": "Virtual network interfaces"
    },
    {
      "name": "Volumes"
    },
    {
      "name": "VPCs"
    },
    {
      "name": "VPN gateways"
    },
    {
      "name": "VPN servers"
    }
  ],
  "servers": [
    {
      "description": "Australia (Sydney)",
      "url": "https://au-syd.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "au-syd"
    },
    {
      "description": "Brazil (Sao Paulo)",
      "url": "https://br-sao.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "br-sao"
    },
    {
      "description": "Canada (Montreal)",
      "url": "https://ca-mon.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "ca-mon"
    },
    {
      "description": "Canada (Toronto)",
      "url": "https://ca-tor.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "ca-tor"
    },
    {
      "description": "Germany (Frankfurt)",
      "url": "https://eu-de.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "eu-de"
    },
    {
      "description": "Spain (Madrid)",
      "url": "https://eu-es.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "eu-es"
    },
    {
      "description": "United Kingdom (London)",
      "url": "https://eu-gb.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "eu-gb"
    },
    {
      "description": "India (Chennai)",
      "url": "https://in-che.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "in-che"
    },
    {
      "description": "Japan (Osaka)",
      "url": "https://jp-osa.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "jp-osa"
    },
    {
      "description": "Japan (Tokyo)",
      "url": "https://jp-tok.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "jp-tok"
    },
    {
      "description": "US East (Washington DC)",
      "url": "https://us-east.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "us-east"
    },
    {
      "description": "US South (Dallas)",
      "url": "https://us-south.iaas.cloud.ibm.com/v1",
      "x-ibm-region": "us-south"
    }
  ],
  "security": [
    {
      "iamToken": []
    }
  ],
  "paths": {
    "/backup_policies": {
      "get": {
        "description": "This request lists backup policies in the region. Backup policies control which sources\nare selected for backup and include a set of backup policy plans that provide the backup\nschedules and deletion triggers.",
        "operationId": "list_backup_policies",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/resourceByTag"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "backup_policies": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
                      "health_reasons": [
                        {
                          "code": "missing_service_authorization_policies",
                          "message": "One or more accounts are missing service authorization policies",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-backup-service-about&interface=ui"
                        }
                      ],
                      "health_state": "degraded",
                      "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": [
                        "boot_volume"
                      ],
                      "last_job_completed_at": "2026-01-02T03:04:05.006Z",
                      "lifecycle_state": "deleting",
                      "match_resource_type": "instance",
                      "match_user_tags": [
                        "my-daily-backup-policy"
                      ],
                      "name": "my-backup-policy",
                      "plans": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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-policy-plan",
                          "remote": {
                            "region": {
                              "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                              "name": "us-south"
                            }
                          },
                          "resource_type": "backup_policy_plan"
                        }
                      ],
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyCollection"
                }
              }
            },
            "description": "The backup policies were retrieved successfully"
          }
        },
        "summary": "List backup policies",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-policy.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.read"
            },
            {
              "name": "is.backup-policy.backup-policy.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/backup_policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listBackupPoliciesOptions := &vpcv1.ListBackupPoliciesOptions{}\nbackupPolicyCollection, response, err := vpcService.ListBackupPolicies(listBackupPoliciesOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBackupPoliciesOptions listBackupPoliciesOptions = new ListBackupPoliciesOptions.Builder()\n  .build();\n\nResponse<BackupPolicyCollection> response = service.listBackupPolicies(listBackupPoliciesOptions).execute();\nBackupPolicyCollection backupPolicyCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listBackupPolicies();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "backup_policy_collection = vpc_service.list_backup_policies().get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new backup policy from a backup policy prototype object.\nThe prototype object is structured in the same way as a retrieved backup policy,\nand contains the information necessary to create the new backup policy.",
        "operationId": "create_backup_policy",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "match_resource_type": "instance",
                "match_user_tags": [
                  "my-daily-backup-policy"
                ],
                "name": "my-backup-policy",
                "plans": [
                  {
                    "active": true,
                    "attach_user_tags": [
                      "my-daily-backup-plan"
                    ],
                    "clone_policy": {
                      "max_snapshots": 1,
                      "zones": [
                        {
                          "name": "us-south-1"
                        }
                      ]
                    },
                    "copy_user_tags": true,
                    "cron_spec": "30 */2 * * 1-5",
                    "deletion_trigger": {
                      "delete_after": 20,
                      "delete_over_count": 20
                    },
                    "name": "my-policy-plan",
                    "remote_region_policies": [
                      {
                        "delete_over_count": 1,
                        "encryption_key": {
                          "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                        },
                        "region": {
                          "name": "us-south"
                        }
                      }
                    ]
                  }
                ],
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "scope": {
                  "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/BackupPolicyPrototype"
              }
            }
          },
          "description": "The backup policy prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
                  "health_reasons": [
                    {
                      "code": "missing_service_authorization_policies",
                      "message": "One or more accounts are missing service authorization policies",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-backup-service-about&interface=ui"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    "boot_volume"
                  ],
                  "last_job_completed_at": "2026-01-02T03:04:05.006Z",
                  "lifecycle_state": "deleting",
                  "match_resource_type": "instance",
                  "match_user_tags": [
                    "my-daily-backup-policy"
                  ],
                  "name": "my-backup-policy",
                  "plans": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-policy-plan",
                      "remote": {
                        "region": {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                          "name": "us-south"
                        }
                      },
                      "resource_type": "backup_policy_plan"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "backup_policy",
                  "scope": {
                    "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce",
                    "id": "ebc2b430240943458b9e91e1432cfcce",
                    "resource_type": "enterprise"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicy"
                }
              }
            },
            "description": "The backup policy was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid backup policy prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The backup policy prototype object conflicts with another backup policy in the region."
          }
        },
        "summary": "Create a backup policy",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-policy.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/backup_policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-backup-policy\",\n      \"match_user_tags\": [\"my-tag-1\", \"my-tag-2\"],\n      \"match_resource_type\": \"volume\",\n      \"plans\": [{\n        \"attach_user_tags\": [\"my-plan-1\"],\n        \"cron_spec\": \"15 * * * *\",\n        \"deletion_trigger\": {\"delete_after\": 5},\n        \"name\": \"my-backup-plan-1\"\n       }]\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "backupPolicyPlanDeletionTriggerPrototypeModel := &vpcv1.BackupPolicyPlanDeletionTriggerPrototype{\n  DeleteAfter: []int{int64(20)}[0],\n  DeleteOverCount: []int{int64(20)}[0],\n}\n\nbackupPolicyPlanPrototypeModel := &vpcv1.BackupPolicyPlanPrototype{\n  AttachUserTags: []string{\"my-daily-backup-plan\"},\n  CronSpec: []string{\"*/5 1,2,3 * * *\"}[0],\n  DeletionTrigger: backupPolicyPlanDeletionTriggerPrototypeModel,\n  Name: []string{\"my-policy-plan\"}[0],\n}\n\ncreateBackupPolicyOptions := &vpcv1.CreateBackupPolicyOptions{\n  MatchResourceType: []string{\"volume\"}[0],\n  MatchUserTags: []string{\"my-daily-backup-policy\"},\n  Name: []string{\"my-backup-policy\"}[0],\n  Plans: []vpcv1.BackupPolicyPlanPrototype{*backupPolicyPlanPrototypeModel},\n}\n\nbackupPolicy, response, err := vpcService.CreateBackupPolicy(createBackupPolicyOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BackupPolicyPlanDeletionTriggerPrototype backupPolicyPlanDeletionTriggerPrototypeModel =\n  new BackupPolicyPlanDeletionTriggerPrototype.Builder()\n  .deleteAfter(Long.valueOf(\"20\"))\n  .deleteOverCount(Long.valueOf(\"20\"))\n  .build();\n\nBackupPolicyPlanPrototype backupPolicyPlanPrototypeModel = new BackupPolicyPlanPrototype.Builder()\n  .attachUserTags(new java.util.ArrayList<String>(java.util.Arrays.asList(\"my-daily-backup-plan\")))\n  .cronSpec(\"*/5 1,2,3 * * *\")\n  .deletionTrigger(backupPolicyPlanDeletionTriggerPrototypeModel)\n  .name(\"my-policy-plan\")\n  .build();\n\nCreateBackupPolicyOptions createBackupPolicyOptions = new CreateBackupPolicyOptions.Builder()\n  .matchResourceType(\"volume\")\n  .matchUserTags(new java.util.ArrayList<String>(java.util.Arrays.asList(\"my-daily-backup-policy\")))\n  .name(\"my-backup-policy\")\n  .plans(new java.util.ArrayList<BackupPolicyPlanPrototype>(java.util.Arrays.asList(backupPolicyPlanPrototypeModel)))\n  .build();\n\nResponse<BackupPolicy> response = service.createBackupPolicy(createBackupPolicyOptions).execute();\nBackupPolicy backupPolicyResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const backupPolicyPlanDeletionTriggerPrototypeModel = {\n  delete_after: 20,\n  delete_over_count: 20,\n};\n\nconst backupPolicyPlanPrototypeModel = {\n  attach_user_tags: ['my-daily-backup-plan'],\n  cron_spec: '*/5 1,2,3 * * *',\n  deletion_trigger: backupPolicyPlanDeletionTriggerPrototypeModel,\n  name: 'my-policy-plan',\n};\n\nconst params = {\n  matchUserTags: ['my-daily-backup-policy'],\n  matchResourceType: 'volume',\n  name: 'my-backup-policy',\n  plans: [backupPolicyPlanPrototypeModel],\n};\n\nconst response = await vpcService.createBackupPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "backup_policy_plan_deletion_trigger_prototype_model = {\n    'delete_after': 20,\n    'delete_over_count': 20\n}\n\nbackup_policy_plan_prototype_model = {\n    'attach_user_tags': ['my-daily-backup-plan'],\n    'cron_spec': '*/5 1,2,3 * * *',\n    'deletion_trigger': backup_policy_plan_deletion_trigger_prototype_model,\n    'name': 'my-policy-plan'\n}\n\ncreate_backup_policy_response = vpc_service.create_backup_policy(\n    match_user_tags=['my-daily-backup-policy'],\n    match_resource_type='volume',\n    name='my-backup-policy',\n    plans=[backup_policy_plan_prototype_model],\n)\nbackup_policy = create_backup_policy_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/backup_policies/{backup_policy_id}/jobs": {
      "get": {
        "description": "This request retrieves jobs for a backup policy. A backup job represents the execution\nof a backup policy plan for a resource matching the policy's criteria.",
        "operationId": "list_backup_policy_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/backupPolicyJobStatus"
          },
          {
            "$ref": "#/components/parameters/backupPolicyPlan"
          },
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/sort"
          },
          {
            "$ref": "#/components/parameters/backupPolicyJobSource"
          },
          {
            "$ref": "#/components/parameters/backupPolicyJobTargetSnapshots"
          },
          {
            "$ref": "#/components/parameters/backupPolicyJobTargetSnapshotsByCRN"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs?limit=20"
                  },
                  "jobs": [
                    {
                      "auto_delete": true,
                      "auto_delete_after": 90,
                      "backup_policy_plan": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-policy-plan",
                        "remote": {
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        },
                        "resource_type": "backup_policy_plan"
                      },
                      "completed_at": "2026-01-02T03:04:05.006Z",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "remote": {
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        },
                        "resource_type": "volume"
                      },
                      "status": "failed",
                      "status_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The source volume is busy.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-baas-troubleshoot"
                        }
                      ],
                      "target_snapshots": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                          "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": "snapshot"
                        }
                      ]
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/jobs?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyJobCollection"
                }
              }
            },
            "description": "The backup policy jobs were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy with the specified identifier could not be found."
          }
        },
        "summary": "List jobs for a backup policy",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-job.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id/jobs?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listBackupPolicyJobsOptions := &vpcv1.ListBackupPolicyJobsOptions{\n  BackupPolicyID:        &backupPolicyId,\n}\nbackupPolicyJobCollection, response, err := vpcService.ListBackupPolicyJobs(listBackupPolicyJobsOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBackupPolicyJobsOptions listBackupPolicyJobsOptions = new ListBackupPolicyJobsOptions.Builder()\n  .backupPolicyId(backupPolicyId)\n  .build();\n\nResponse<BackupPolicyJobCollection> response = service.listBackupPolicyJobs(listBackupPolicyJobsOptions).execute();\nBackupPolicyJobCollection backupPolicyJobCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = { backupPolicyId }\nconst response = await vpcService.listBackupPolicyJobs(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "list_backup_policy_jobs_response = service.list_backup_policy_jobs(\n    backup_policy_id=backup_policy_id,\n)\nbackup_policy_job_collection = list_backup_policy_jobs_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/backupPolicyId"
        }
      ]
    },
    "/backup_policies/{backup_policy_id}/jobs/{id}": {
      "get": {
        "description": "This request retrieves a single backup policy job specified by the identifier in the URL.",
        "operationId": "get_backup_policy_job",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "auto_delete": true,
                  "auto_delete_after": 90,
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "volume"
                  },
                  "status": "failed",
                  "status_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The source volume is busy.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-baas-troubleshoot"
                    }
                  ],
                  "target_snapshots": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "snapshot"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyJob"
                }
              }
            },
            "description": "The backup policy job was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy job with the specified identifier could not be found for the backup\npolicy with the specified identifier."
          }
        },
        "summary": "Retrieve a backup policy job",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-job.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id/jobs/$backup_policy_job_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getBackupPolicyJobOptions := &vpcv1.GetBackupPolicyJobOptions{\n  BackupPolicyID:   &backupPolicyId,\n  ID:               &backupPolicyJobId,\n}\nbackupPolicyJob, response, err := vpcService.GetBackupPolicyJob(getBackupPolicyJobOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBackupPolicyJobOptions getBackupPolicyJobOptions = new GetBackupPolicyJobOptions.Builder()\n  .backupPolicyId(backupPolicyId)\n  .id(backupPolicyJobId)\n  .build();\n\nResponse<BackupPolicyJob> response = service.getBackupPolicyJob(getBackupPolicyJobOptions).execute();\nBackupPolicyJob backupPolicyJobResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  backupPolicyId,\n  id: backupPolicyJobId,\n};\n\nconst response = await vpcService.getBackupPolicyJob(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "get_backup_policy_job_response = service.get_backup_policy_job(\n    backup_policy_id=backup_policy_id,\n    id=backup_policy_job_id,\n)\nbackup_policy_job = get_backup_policy_job_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/backupPolicyId"
        },
        {
          "$ref": "#/components/parameters/backupPolicyJobIdUnqualified"
        }
      ]
    },
    "/backup_policies/{backup_policy_id}/plans": {
      "get": {
        "description": "This request retrieves plans for a backup policy. Backup plans provide the backup\nschedule and deletion triggers.",
        "operationId": "list_backup_policy_plans",
        "parameters": [
          {
            "$ref": "#/components/parameters/name"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/backup_policies/r006-076191ba-49c2-4763-94fd-c70de73ee2e6/plans?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "plans": [
                    {
                      "active": true,
                      "attach_user_tags": [
                        "my-daily-backup-plan"
                      ],
                      "clone_policy": {
                        "max_snapshots": 1,
                        "zones": [
                          {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                            "name": "us-south-1"
                          }
                        ]
                      },
                      "copy_user_tags": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "cron_spec": "30 */2 * * 1-5",
                      "deletion_trigger": {
                        "delete_after": 20,
                        "delete_over_count": 20
                      },
                      "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": "deleting",
                      "name": "my-policy-plan",
                      "remote_region_policies": [
                        {
                          "delete_over_count": 1,
                          "encryption_key": {
                            "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                          },
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        }
                      ],
                      "resource_type": "backup_policy_plan"
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyPlanCollection"
                }
              }
            },
            "description": "The backup policy plans were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy with the specified identifier could not be found."
          }
        },
        "summary": "List plans for a backup policy",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-plan.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id/plans?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listBackupPolicyPlansOptions := &vpcv1.ListBackupPolicyPlansOptions{\n  BackupPolicyID: &backupPolicyId,\n}\nbackupPolicyPlanCollection, response, err := vpcService.ListBackupPolicyPlans(listBackupPolicyPlansOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBackupPolicyPlansOptions listBackupPolicyPlansOptions = new ListBackupPolicyPlansOptions.Builder()\n  .backupPolicyId(backupPolicyId)\n  .build();\nResponse<BackupPolicyPlanCollection> response = service.listBackupPolicyPlans(listBackupPolicyPlansOptions).execute();\nBackupPolicyPlanCollection backupPolicyPlanCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  backupPolicyId,\n};\nconst response = await vpcService.listBackupPolicyPlans(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "list_backup_policy_plans_response = service.list_backup_policy_plans(backup_policy_id)\nbackup_policy_plan_collection = list_backup_policy_plans_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/backupPolicyId"
        }
      ],
      "post": {
        "description": "This request creates a new backup policy plan from a backup policy plan prototype object.\nThe prototype object is structured in the same way as a retrieved backup policy plan, and\ncontains the information necessary to create the new backup policy plan.\n\nBackups created by this plan will use the resource group of the source being backed up.\n\nBackups created by this plan will use the plan's name truncated to 46 characters, followed\nby a unique 16-character suffix.",
        "operationId": "create_backup_policy_plan",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "active": true,
                "attach_user_tags": [
                  "my-daily-backup-plan"
                ],
                "clone_policy": {
                  "max_snapshots": 1,
                  "zones": [
                    {
                      "name": "us-south-1"
                    }
                  ]
                },
                "copy_user_tags": true,
                "cron_spec": "30 */2 * * 1-5",
                "deletion_trigger": {
                  "delete_after": 20,
                  "delete_over_count": 20
                },
                "name": "my-policy-plan",
                "remote_region_policies": [
                  {
                    "delete_over_count": 1,
                    "encryption_key": {
                      "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                    },
                    "region": {
                      "name": "us-south"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BackupPolicyPlanPrototype"
              }
            }
          },
          "description": "The backup policy plan prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "attach_user_tags": [
                    "my-daily-backup-plan"
                  ],
                  "clone_policy": {
                    "max_snapshots": 1,
                    "zones": [
                      {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    ]
                  },
                  "copy_user_tags": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "cron_spec": "30 */2 * * 1-5",
                  "deletion_trigger": {
                    "delete_after": 20,
                    "delete_over_count": 20
                  },
                  "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": "deleting",
                  "name": "my-policy-plan",
                  "remote_region_policies": [
                    {
                      "delete_over_count": 1,
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    }
                  ],
                  "resource_type": "backup_policy_plan"
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyPlan"
                }
              }
            },
            "description": "The backup policy plan was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid backup policy plan prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The backup policy plan prototype object specified an encryption key that cannot\nbe used in its current state."
          }
        },
        "summary": "Create a plan for a backup policy",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-plan.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id/plans?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-backup-plan-2\",\n      \"attach_user_tags\": [\"my-plan-2\"],\n      \"cron_spec\": \"45 * * * *\",\n      \"deletion_trigger\": {\"delete_after\": 5}\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "backupPolicyPlanDeletionTriggerPrototypeModel := &vpcv1.BackupPolicyPlanDeletionTriggerPrototype{\n  DeleteAfter: []int{int64(20)}[0],\n  DeleteOverCount: []int{int64(20)}[0],\n}\n\ncreateBackupPolicyPlanOptions := &vpcv1.CreateBackupPolicyPlanOptions{\n  BackupPolicyID: &backupPolicyId,\n  CronSpec: []string{\"*/5 1,2,3 * * *\"}[0],\n  AttachUserTags: []string{\"my-daily-backup-plan\"},\n  DeletionTrigger: backupPolicyPlanDeletionTriggerPrototypeModel,\n  Name: []string{\"my-policy-plan\"}[0],\n}\n\nbackupPolicyPlan, response, err := vpcService.CreateBackupPolicyPlan(createBackupPolicyPlanOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BackupPolicyPlanDeletionTriggerPrototype backupPolicyPlanDeletionTriggerPrototypeModel = new BackupPolicyPlanDeletionTriggerPrototype.Builder()\n  .deleteAfter(Long.valueOf(\"20\"))\n  .deleteOverCount(Long.valueOf(\"20\"))\n  .build();\n\nCreateBackupPolicyPlanOptions createBackupPolicyPlanOptions = new CreateBackupPolicyPlanOptions.Builder()\n  .backupPolicyId(backupPolicyId)\n  .cronSpec(\"*/5 1,2,3 * * *\")\n  .attachUserTags(new java.util.ArrayList<String>(java.util.Arrays.asList(\"my-daily-backup-plan\")))\n  .deletionTrigger(backupPolicyPlanDeletionTriggerPrototypeModel)\n  .name(\"my-policy-plan\")\n  .build();\n\nResponse<BackupPolicyPlan> response = service.createBackupPolicyPlan(createBackupPolicyPlanOptions).execute();\nBackupPolicyPlan backupPolicyPlanResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const backupPolicyPlanDeletionTriggerPrototypeModel = {\n  delete_after: 20,\n  delete_over_count: 20,\n};\n\nconst params = {\n  backupPolicyId,\n  cronSpec: '*/5 1,2,3 * * *',\n  attachUserTags: ['my-daily-backup-plan'],\n  deletionTrigger: backupPolicyPlanDeletionTriggerPrototypeModel,\n  name: 'my-policy-plan',\n};\n\nconst response = await vpcService.createBackupPolicyPlan(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "backup_policy_plan_deletion_trigger_prototype_model = {\n    'delete_after': 20,\n    'delete_over_count': 20\n}\n\ncreate_backup_policy_plan_response = service.create_backup_policy_plan(\n    backup_policy_id=backup_policy_id,\n    cron_spec='*/5 1,2,3 * * *',\n    attach_user_tags=['my-daily-backup-plan'],\n    deletion_trigger=backup_policy_plan_deletion_trigger_prototype_model,\n    name='my-policy-plan',\n)\nbackup_policy_plan = create_backup_policy_plan_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/backup_policies/{backup_policy_id}/plans/{id}": {
      "delete": {
        "description": "This request deletes a backup policy plan. This operation cannot be reversed. Any backups\nthat have been created by the plan will remain but will no longer be subject to the plan's\ndeletion trigger. Any running jobs associated with the plan will run to completion before\nthe plan is deleted.\n\nIf the request is accepted, the backup policy plan `status` will be set to `deleting`.\nOnce deletion processing completes, the backup policy plan will no longer be retrievable.",
        "operationId": "delete_backup_policy_plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "attach_user_tags": [
                    "my-daily-backup-plan"
                  ],
                  "clone_policy": {
                    "max_snapshots": 1,
                    "zones": [
                      {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    ]
                  },
                  "copy_user_tags": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "cron_spec": "30 */2 * * 1-5",
                  "deletion_trigger": {
                    "delete_after": 20,
                    "delete_over_count": 20
                  },
                  "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": "deleting",
                  "name": "my-policy-plan",
                  "remote_region_policies": [
                    {
                      "delete_over_count": 1,
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    }
                  ],
                  "resource_type": "backup_policy_plan"
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyPlan"
                }
              }
            },
            "description": "The backup policy plan deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy plan with the specified identifier could not be found for the policy\nplan with the specified identifier."
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value of the backup\npolicy plan."
          }
        },
        "summary": "Delete a backup policy plan",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-plan.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id/plans/$backup_policy_plan_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deleteBackupPolicyPlanOptions := &vpcv1.DeleteBackupPolicyPlanOptions{\n  BackupPolicyID:        &backupPolicyId,\n  ID:                    &backupPolicyPlanId,\n}\nbackupPolicyPlan, response, err := vpcService.DeleteBackupPolicyPlan(deleteBackupPolicyPlanOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteBackupPolicyPlanOptions deleteBackupPolicyPlanOptions = new DeleteBackupPolicyPlanOptions.Builder()\n  .backupPolicyId(backupPolicyId)\n  .id(backupPolicyPlanId)\n  .build();\n\nResponse<BackupPolicyPlan> response = service.deleteBackupPolicyPlan(deleteBackupPolicyPlanOptions).execute();\nBackupPolicyPlan backupPolicyPlanResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  backupPolicyId,\n  id: backupPolicyPlanId,\n};\n\nconst response = await vpcService.deleteBackupPolicyPlan(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "delete_backup_policy_plan_response = service.delete_backup_policy_plan(\n    backup_policy_id=backup_policy_id,\n    id=backup_policy_plan_id,\n)\nbackup_policy_plan = delete_backup_policy_plan_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single backup policy plan specified by the identifier in the URL.",
        "operationId": "get_backup_policy_plan",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "attach_user_tags": [
                    "my-daily-backup-plan"
                  ],
                  "clone_policy": {
                    "max_snapshots": 1,
                    "zones": [
                      {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    ]
                  },
                  "copy_user_tags": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "cron_spec": "30 */2 * * 1-5",
                  "deletion_trigger": {
                    "delete_after": 20,
                    "delete_over_count": 20
                  },
                  "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": "deleting",
                  "name": "my-policy-plan",
                  "remote_region_policies": [
                    {
                      "delete_over_count": 1,
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    }
                  ],
                  "resource_type": "backup_policy_plan"
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyPlan"
                }
              }
            },
            "description": "The backup policy plan was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy plan with the specified identifier could not be found for the backup\npolicy with the specified identifier."
          }
        },
        "summary": "Retrieve a backup policy plan",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-plan.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id/plans/$backup_policy_plan_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getBackupPolicyPlanOptions := &vpcv1.GetBackupPolicyPlanOptions{\n  BackupPolicyID:        &backupPolicyId,\n  ID:                    &backupPolicyPlanId,\n}\nbackupPolicyPlan, response, err := vpcService.GetBackupPolicyPlan(getBackupPolicyPlanOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBackupPolicyPlanOptions getBackupPolicyPlanOptions = new GetBackupPolicyPlanOptions.Builder()\n  .backupPolicyId(backupPolicyId)\n  .id(backupPolicyPlanId)\n  .build();\n\nResponse<BackupPolicyPlan> response = service.getBackupPolicyPlan(getBackupPolicyPlanOptions).execute();\nBackupPolicyPlan backupPolicyPlanResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  backupPolicyId,\n  id: backupPolicyPlanId,\n};\n\nconst response = await vpcService.getBackupPolicyPlan(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "get_backup_policy_plan_response = service.get_backup_policy_plan(\n    backup_policy_id=backup_policy_id,\n    id=backup_policy_plan_id,\n)\nbackup_policy_plan = get_backup_policy_plan_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/backupPolicyId"
        },
        {
          "$ref": "#/components/parameters/backupPolicyPlanIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a backup policy plan with the information in a provided plan patch.\nThe plan patch object is structured in the same way as a retrieved backup policy plan and\ncan contains only the information to be updated.",
        "operationId": "update_backup_policy_plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "active": true,
                "attach_user_tags": [
                  "my-daily-backup-plan"
                ],
                "clone_policy": {
                  "max_snapshots": 1,
                  "zones": [
                    {
                      "name": "us-south-1"
                    }
                  ]
                },
                "copy_user_tags": true,
                "cron_spec": "30 */2 * * 1-5",
                "deletion_trigger": {
                  "delete_after": 20,
                  "delete_over_count": 1
                },
                "name": "my-policy-plan",
                "remote_region_policies": [
                  {
                    "delete_over_count": 1,
                    "encryption_key": {
                      "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                    },
                    "region": {
                      "name": "us-south"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BackupPolicyPlanPatch"
              }
            }
          },
          "description": "The backup policy plan patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "attach_user_tags": [
                    "my-daily-backup-plan"
                  ],
                  "clone_policy": {
                    "max_snapshots": 1,
                    "zones": [
                      {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    ]
                  },
                  "copy_user_tags": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "cron_spec": "30 */2 * * 1-5",
                  "deletion_trigger": {
                    "delete_after": 20,
                    "delete_over_count": 20
                  },
                  "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": "deleting",
                  "name": "my-policy-plan",
                  "remote_region_policies": [
                    {
                      "delete_over_count": 1,
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    }
                  ],
                  "resource_type": "backup_policy_plan"
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicyPlan"
                }
              }
            },
            "description": "The backup policy plan was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid backup policy plan patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy plan with the specified identifier could not be found for the backup\npolicy with the specified identifier."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified encryption key cannot be used 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 backup\npolicy plan."
          }
        },
        "summary": "Update a backup policy plan",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-plan.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id/plans/$backup_policy_plan_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"copy_user_tags\": false }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "backupPolicyPlanPatchModel := &vpcv1.BackupPolicyPlanPatch{\n  Name:            []string{\"my-policy-plan-updated\"}[0],\n}\nbackupPolicyPlanPatchModelAsPatch, asPatchErr := backupPolicyPlanPatchModel.AsPatch()\nupdateBackupPolicyPlanOptions := &vpcv1.UpdateBackupPolicyPlanOptions{\n  BackupPolicyID:        &backupPolicyId,\n  ID:                    &backupPolicyPlanId,\n  BackupPolicyPlanPatch: backupPolicyPlanPatchModelAsPatch,\n}\n\nbackupPolicyPlan, response, err := vpcService.UpdateBackupPolicyPlan(updateBackupPolicyPlanOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BackupPolicyPlanPatch backupPolicyPlanPatchModel = new BackupPolicyPlanPatch.Builder()\n  .name(\"my-policy-plan-updated\")\n  .build();\nMap<String, Object> backupPolicyPlanPatchModelAsPatch = backupPolicyPlanPatchModel.asPatch();\n\nUpdateBackupPolicyPlanOptions updateBackupPolicyPlanOptions = new UpdateBackupPolicyPlanOptions.Builder()\n  .backupPolicyId(backupPolicyId)\n  .id(backupPolicyPlanId)\n  .backupPolicyPlanPatch(backupPolicyPlanPatchModelAsPatch)\n  .build();\n\nResponse<BackupPolicyPlan> response = service.updateBackupPolicyPlan(updateBackupPolicyPlanOptions).execute();\nBackupPolicyPlan backupPolicyPlanResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  backupPolicyId,\n  id: backupPolicyPlanId,\n  name: 'my-policy-plan-updated',\n};\n\nconst response = await vpcService.updateBackupPolicyPlan(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "backup_policy_plan_patch_model = {\n    'name': 'my-policy-plan-updated'\n}\n\nupdate_backup_policy_plan_response = service.update_backup_policy_plan(\n    backup_policy_id=backup_policy_id,\n    id=backup_policy_plan_id,\n    backup_policy_plan_patch=backup_policy_plan_patch_model,\n)\nbackup_policy_plan = update_backup_policy_plan_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/backup_policies/{id}": {
      "delete": {
        "description": "This request deletes a backup policy. This operation cannot be reversed.\n\nIf the request is accepted, the backup policy `status` will be set to `deleting`.\nOnce deletion processing completes, the backup policy will no longer be retrievable.",
        "operationId": "delete_backup_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
                  "health_reasons": [
                    {
                      "code": "missing_service_authorization_policies",
                      "message": "One or more accounts are missing service authorization policies",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-backup-service-about&interface=ui"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    "boot_volume"
                  ],
                  "last_job_completed_at": "2026-01-02T03:04:05.006Z",
                  "lifecycle_state": "deleting",
                  "match_resource_type": "instance",
                  "match_user_tags": [
                    "my-daily-backup-policy"
                  ],
                  "name": "my-backup-policy",
                  "plans": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-policy-plan",
                      "remote": {
                        "region": {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                          "name": "us-south"
                        }
                      },
                      "resource_type": "backup_policy_plan"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "backup_policy",
                  "scope": {
                    "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce",
                    "id": "ebc2b430240943458b9e91e1432cfcce",
                    "resource_type": "enterprise"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicy"
                }
              }
            },
            "description": "The backup policy deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy 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 backup\npolicy."
          }
        },
        "summary": "Delete a backup policy",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-policy.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deleteBackupPolicyOptions := &vpcv1.DeleteBackupPolicyOptions{\n  ID: &backupPolicyId,\n}\nbackupPolicy, response, err := vpcService.DeleteBackupPolicy(deleteBackupPolicyOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteBackupPolicyOptions deleteBackupPolicyOptions = new DeleteBackupPolicyOptions.Builder()\n  .id(backupPolicyId)\n  .build();\n\nResponse<BackupPolicy> response = service.deleteBackupPolicy(deleteBackupPolicyOptions).execute();\nBackupPolicy backupPolicyResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: backupPolicyId,\n};\n\nconst response = await vpcService.deleteBackupPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "delete_backup_policy_response = service.delete_backup_policy(\n    id=backup_policy_id,\n)\nbackup_policy = delete_backup_policy_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single backup policy specified by the identifier in the URL.",
        "operationId": "get_backup_policy",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
                  "health_reasons": [
                    {
                      "code": "missing_service_authorization_policies",
                      "message": "One or more accounts are missing service authorization policies",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-backup-service-about&interface=ui"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    "boot_volume"
                  ],
                  "last_job_completed_at": "2026-01-02T03:04:05.006Z",
                  "lifecycle_state": "deleting",
                  "match_resource_type": "instance",
                  "match_user_tags": [
                    "my-daily-backup-policy"
                  ],
                  "name": "my-backup-policy",
                  "plans": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-policy-plan",
                      "remote": {
                        "region": {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                          "name": "us-south"
                        }
                      },
                      "resource_type": "backup_policy_plan"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "backup_policy",
                  "scope": {
                    "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce",
                    "id": "ebc2b430240943458b9e91e1432cfcce",
                    "resource_type": "enterprise"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicy"
                }
              }
            },
            "description": "The backup policy was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a backup policy",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-policy.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getBackupPolicyOptions := &vpcv1.GetBackupPolicyOptions{\n  ID: &backupPolicyId,\n}\nbackupPolicy, response, err := vpcService.GetBackupPolicy(getBackupPolicyOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBackupPolicyOptions getBackupPolicyOptions = new GetBackupPolicyOptions.Builder()\n  .id(backupPolicyId)\n  .build();\n\nResponse<BackupPolicy> response = service.getBackupPolicy(getBackupPolicyOptions).execute();\nBackupPolicy backupPolicyResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: backupPolicyId,\n};\n\nconst response = await vpcService.getBackupPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "get_backup_policy_response = service.get_backup_policy(id=backup_policy_id)\nbackup_policy = get_backup_policy_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/backupPolicyIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a backup policy with the information in a provided backup policy\npatch. The backup policy patch object is structured in the same way as a retrieved backup\npolicy and contains only the information to be updated.",
        "operationId": "update_backup_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "included_content": [
                  "boot_volume"
                ],
                "match_user_tags": [
                  "my-daily-backup-policy"
                ],
                "name": "my-backup-policy"
              },
              "schema": {
                "$ref": "#/components/schemas/BackupPolicyPatch"
              }
            }
          },
          "description": "The backup policy patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::backup-policy:r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
                  "health_reasons": [
                    {
                      "code": "missing_service_authorization_policies",
                      "message": "One or more accounts are missing service authorization policies",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-backup-service-about&interface=ui"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    "boot_volume"
                  ],
                  "last_job_completed_at": "2026-01-02T03:04:05.006Z",
                  "lifecycle_state": "deleting",
                  "match_resource_type": "instance",
                  "match_user_tags": [
                    "my-daily-backup-policy"
                  ],
                  "name": "my-backup-policy",
                  "plans": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-policy-plan",
                      "remote": {
                        "region": {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                          "name": "us-south"
                        }
                      },
                      "resource_type": "backup_policy_plan"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "backup_policy",
                  "scope": {
                    "crn": "crn:v1:bluemix:public:enterprise::a/aa2432b1fa4d4ace891e9b80fc104e34::enterprise:ebc2b430240943458b9e91e1432cfcce",
                    "id": "ebc2b430240943458b9e91e1432cfcce",
                    "resource_type": "enterprise"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BackupPolicy"
                }
              }
            },
            "description": "The backup policy was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid backup policy patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A backup policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The backup policy patch conflicts with another backup policy 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 backup\npolicy."
          }
        },
        "summary": "Update a backup policy",
        "tags": [
          "Backup policies"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.backup-policy.backup-policy.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.backup-policy.backup-policy.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/backup_policies/$backup_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"match_user_tags\": [ \"my-tag-1\", \"my-tag-2\", \"my-tag-3\" ] }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "backupPolicyPatchModel := &vpcv1.BackupPolicyPatch{\n  Name: []string{\"my-backup-policy-updated\"}[0],\n}\nbackupPolicyPatchModelAsPatch, asPatchErr := backupPolicyPatchModel.AsPatch()\nupdateBackupPolicyOptions := &vpcv1.UpdateBackupPolicyOptions{\n  ID: &backupPolicyId,\n  BackupPolicyPatch: backupPolicyPatchModelAsPatch,\n}\nbackupPolicy, response, err := vpcService.UpdateBackupPolicy(updateBackupPolicyOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BackupPolicyPatch backupPolicyPatchModel = new BackupPolicyPatch.Builder()\n  .name(\"my-backup-policy-updated\")\n  .build();\nMap<String, Object> backupPolicyPatchModelAsPatch = backupPolicyPatchModel.asPatch();\n\nUpdateBackupPolicyOptions updateBackupPolicyOptions = new UpdateBackupPolicyOptions.Builder()\n  .id(backupPolicyId)\n  .backupPolicyPatch(backupPolicyPatchModelAsPatch)\n  .build();\n\nResponse<BackupPolicy> response = service.updateBackupPolicy(updateBackupPolicyOptions).execute();\nBackupPolicy backupPolicyResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: backupPolicyId,\n  name: 'my-backup-policy-updated',\n};\n\nconst response = await vpcService.updateBackupPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "backup_policy_patch_model = {\n    'name': 'my-backup-policy-updated'\n}\n\nupdate_backup_policy_response = service.update_backup_policy(\n    id=backup_policy_id,\n    backup_policy_patch=backup_policy_patch_model,\n)\nbackup_policy = update_backup_policy_response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_server/profiles": {
      "get": {
        "description": "This request lists [bare metal server\nprofiles](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) available in\nthe region. A bare metal server profile specifies the performance characteristics and\npricing model for a bare metal server.",
        "operationId": "list_bare_metal_server_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/bare_metal_server/profiles?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "profiles": [
                    {
                      "bandwidth": {
                        "type": "fixed",
                        "value": 20000
                      },
                      "console_types": {
                        "type": "enum",
                        "values": [
                          "serial"
                        ]
                      },
                      "cpu_architecture": {
                        "type": "fixed",
                        "value": "amd64"
                      },
                      "cpu_core_count": {
                        "type": "fixed",
                        "value": 80
                      },
                      "cpu_socket_count": {
                        "type": "fixed",
                        "value": 4
                      },
                      "disks": [
                        {
                          "quantity": {
                            "type": "fixed",
                            "value": 4
                          },
                          "size": {
                            "type": "fixed",
                            "value": 100
                          },
                          "supported_interface_types": {
                            "default": "fcp",
                            "type": "enum",
                            "values": [
                              "fcp"
                            ]
                          }
                        }
                      ],
                      "family": "balanced",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768",
                      "memory": {
                        "type": "fixed",
                        "value": 32
                      },
                      "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": {
                        "default": "disabled",
                        "type": "enum",
                        "values": [
                          "disabled"
                        ]
                      },
                      "virtual_network_interfaces_supported": {
                        "type": "fixed",
                        "value": true
                      }
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerProfileCollection"
                }
              }
            },
            "description": "The bare metal server profiles were retrieved successfully"
          }
        },
        "summary": "List bare metal server profiles",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.profile.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": []
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_server/profiles?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListBareMetalServerProfilesOptions()\nbareMetalServerProfileCollection, response, err :=\n  vpcService.ListBareMetalServerProfiles(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBareMetalServerProfilesOptions listBareMetalServerProfilesOptions = new ListBareMetalServerProfilesOptions.Builder()\n  .build();\nResponse<BareMetalServerProfileCollection> response = vpcService.listBareMetalServerProfiles(listBareMetalServerProfilesOptions).execute();\nBareMetalServerProfileCollection bareMetalServerProfileCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listBareMetalServerProfiles()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_profile_collection = service.list_bare_metal_server_profiles()\n  .get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/bare_metal_server/profiles/{name}": {
      "get": {
        "description": "This request retrieves a single bare metal server profile specified by the name in the URL.",
        "operationId": "get_bare_metal_server_profile",
        "parameters": [
          {
            "description": "The bare metal server profile name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "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"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "bandwidth": {
                    "type": "fixed",
                    "value": 20000
                  },
                  "console_types": {
                    "type": "enum",
                    "values": [
                      "serial"
                    ]
                  },
                  "cpu_architecture": {
                    "type": "fixed",
                    "value": "amd64"
                  },
                  "cpu_core_count": {
                    "type": "fixed",
                    "value": 80
                  },
                  "cpu_socket_count": {
                    "type": "fixed",
                    "value": 4
                  },
                  "disks": [
                    {
                      "quantity": {
                        "type": "fixed",
                        "value": 4
                      },
                      "size": {
                        "type": "fixed",
                        "value": 100
                      },
                      "supported_interface_types": {
                        "default": "fcp",
                        "type": "enum",
                        "values": [
                          "fcp"
                        ]
                      }
                    }
                  ],
                  "family": "balanced",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/profiles/bx2-metal-192x768",
                  "memory": {
                    "type": "fixed",
                    "value": 32
                  },
                  "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": {
                    "default": "disabled",
                    "type": "enum",
                    "values": [
                      "disabled"
                    ]
                  },
                  "virtual_network_interfaces_supported": {
                    "type": "fixed",
                    "value": true
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerProfile"
                }
              }
            },
            "description": "The bare metal server profile was retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server profile with the specified name could not be found."
          }
        },
        "summary": "Retrieve a bare metal server profile",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.profile.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": []
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_server/profiles/$profile-name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerProfileOptions{\n  Name: &bareMetalServerProfileName,\n}\nbareMetalServerProfile, response, err :=\n  vpcService.GetBareMetalServerProfile(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerProfileOptions getBareMetalServerProfileOptions = new GetBareMetalServerProfileOptions.Builder()\n  .name(bareMetalServerProfileName)\n  .build();\nResponse<BareMetalServerProfile> response = vpcService.getBareMetalServerProfile(getBareMetalServerProfileOptions).execute();\nBareMetalServerProfile bareMetalServerProfile = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  name: bareMetalServerProfileName,\n};\nconst response = await vpcService.getBareMetalServerProfile(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_profile = service.get_bare_metal_server_profile(\n    name=bareMetalServerProfileName).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/bare_metal_servers": {
      "get": {
        "description": "This request lists bare metal servers in the region.",
        "operationId": "list_bare_metal_servers",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/reservation"
          },
          {
            "$ref": "#/components/parameters/reservationByCRN"
          },
          {
            "$ref": "#/components/parameters/reservationByName"
          },
          {
            "$ref": "#/components/parameters/vpc"
          },
          {
            "$ref": "#/components/parameters/vpcByCRN"
          },
          {
            "$ref": "#/components/parameters/vpcByName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "bare_metal_servers": [
                    {
                      "bandwidth": 20000,
                      "boot_target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 80,
                        "socket_count": 4,
                        "threads_per_core": 2
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "2024-06-23",
                            "bare_metal_server": "enable_secure_boot == true"
                          },
                          "created_at": "2026-01-02T03:04:05.006Z",
                          "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": "fcp",
                          "name": "my-bare-metal-server-disk",
                          "resource_type": "bare_metal_server_disk",
                          "size": 100
                        }
                      ],
                      "enable_secure_boot": true,
                      "firmware": {
                        "update": "none"
                      },
                      "health_reasons": [
                        {
                          "code": "reservation_capacity_unavailable",
                          "message": "The reservation cannot be used because it has expired.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                        }
                      ],
                      "health_state": "degraded",
                      "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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "memory": 1536,
                      "metadata_service": {
                        "enabled": true,
                        "protocol": "http"
                      },
                      "name": "my-bare-metal-server",
                      "network_attachments": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "192.168.3.4",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "name": "my-reserved-ip",
                            "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",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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-bare-metal-server-network-interface",
                          "primary_ip": {
                            "address": "192.168.3.4",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "name": "my-reserved-ip",
                            "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",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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"
                          }
                        }
                      ],
                      "primary_network_attachment": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-bare-metal-server-network-interface",
                        "primary_ip": {
                          "address": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "reservation_affinity": {
                        "policy": "automatic",
                        "pool": [
                          {
                            "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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"
                          }
                        ]
                      },
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "bare_metal_server",
                      "status": "deleting",
                      "status_reasons": [
                        {
                          "code": "cannot_reinitialize",
                          "message": "The bare metal server cannot start as there is no more capacity in this\nzone for a bare metal server with the requested profile.",
                          "more_info": "https://console.bluemix.net/docs/iaas/bare_metal_server.html"
                        }
                      ],
                      "trusted_platform_module": {
                        "enabled": true,
                        "mode": "disabled",
                        "supported_modes": [
                          "disabled"
                        ]
                      },
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerCollection"
                }
              }
            },
            "description": "The bare metal servers were retrieved successfully."
          }
        },
        "summary": "List bare metal servers",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.list"
            },
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListBareMetalServersOptions{}\nbareMetalServerCollection, response, err :=\n  vpcService.ListBareMetalServers(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBareMetalServersOptions listBareMetalServersOptions = new ListBareMetalServersOptions.Builder()\n  .build();\nResponse<BareMetalServerCollection> response = vpcService.listBareMetalServers(listBareMetalServersOptions).execute();\nBareMetalServerCollection bareMetalServerCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listBareMetalServers()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_collection = service.list_bare_metal_servers().get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request provisions a new bare metal server from a prototype object. The prototype\nobject is structured in the same way as a retrieved bare metal server, and contains the\ninformation necessary to provision the new bare metal server. The bare metal server is\nautomatically started.\n\nFor this request to succeed, the properties in the request must adhere to the source\nimage's `allowed_use` property.",
        "operationId": "create_bare_metal_server",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "bandwidth": 20000,
                "enable_secure_boot": true,
                "initialization": {
                  "default_trusted_profile": {
                    "auto_link": true,
                    "target": {
                      "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                    }
                  },
                  "image": {
                    "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8"
                  },
                  "keys": [
                    {
                      "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45"
                    }
                  ],
                  "user_data": "[...]"
                },
                "metadata_service": {
                  "enabled": true,
                  "protocol": "http"
                },
                "name": "my-bare-metal-server",
                "network_attachments": [
                  {
                    "allowed_vlans": [
                      4
                    ],
                    "interface_type": "pci",
                    "name": "my-bare-metal-server-network-attachment",
                    "virtual_network_interface": {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "enable_infrastructure_nat": true,
                      "ips": [
                        {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        }
                      ],
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      },
                      "protocol_state_filtering_mode": "auto",
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "security_groups": [
                        {
                          "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                        }
                      ],
                      "subnet": {
                        "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                      }
                    }
                  }
                ],
                "primary_network_attachment": {
                  "allowed_vlans": [
                    4
                  ],
                  "interface_type": "pci",
                  "name": "my-bare-metal-server-network-attachment",
                  "virtual_network_interface": {
                    "allow_ip_spoofing": true,
                    "auto_delete": true,
                    "enable_infrastructure_nat": true,
                    "ips": [
                      {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      }
                    ],
                    "name": "my-virtual-network-interface",
                    "primary_ip": {
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                    },
                    "protocol_state_filtering_mode": "auto",
                    "resource_group": {
                      "id": "fee82deba12e4c0fb69c3b09d1f12345"
                    },
                    "security_groups": [
                      {
                        "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                      }
                    ],
                    "subnet": {
                      "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                    }
                  }
                },
                "profile": {
                  "name": "bx2-metal-192x768"
                },
                "reservation_affinity": {
                  "policy": "automatic",
                  "pool": [
                    {
                      "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                    }
                  ]
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "trusted_platform_module": {
                  "mode": "disabled"
                },
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerPrototype"
              }
            }
          },
          "description": "The bare metal server prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "bandwidth": 20000,
                  "boot_target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": 80,
                    "socket_count": 4,
                    "threads_per_core": 2
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "fcp",
                      "name": "my-bare-metal-server-disk",
                      "resource_type": "bare_metal_server_disk",
                      "size": 100
                    }
                  ],
                  "enable_secure_boot": true,
                  "firmware": {
                    "update": "none"
                  },
                  "health_reasons": [
                    {
                      "code": "reservation_capacity_unavailable",
                      "message": "The reservation cannot be used because it has expired.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 1536,
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http"
                  },
                  "name": "my-bare-metal-server",
                  "network_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "primary_network_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-bare-metal-server-network-interface",
                    "primary_ip": {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "bare_metal_server",
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_reinitialize",
                      "message": "The bare metal server cannot start as there is no more capacity in this\nzone for a bare metal server with the requested profile.",
                      "more_info": "https://console.bluemix.net/docs/iaas/bare_metal_server.html"
                    }
                  ],
                  "trusted_platform_module": {
                    "enabled": true,
                    "mode": "disabled",
                    "supported_modes": [
                      "disabled"
                    ]
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/BareMetalServer"
                }
              }
            },
            "description": "The bare metal server was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server prototype object conflicts with another bare metal server\nin the region."
          }
        },
        "summary": "Create a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "description": "Generated for each virtual network interface created",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Generated for:\n- each virtual network interface being attached to a bare metal server network attachment\n- each virtual network interface for each reserved IP being attached to it\n- each virtual network interface for each security group being attached to it",
              "name": "is.virtual-network-interface.virtual-network-interface.attach"
            },
            {
              "description": "Generated for each virtual network interface being attached to a bare metal server\nnetwork attachment",
              "name": "is.bare-metal-server.network-attachment.attach"
            },
            {
              "name": "is.bare-metal-server.bare-metal-server.create"
            },
            {
              "description": "Generated for each bare metal server network attachment created",
              "name": "is.bare-metal-server.network-attachment.create"
            },
            {
              "description": "Generated for each bare metal server network interface created",
              "name": "is.bare-metal-server.network-interface.create"
            },
            {
              "description": "Generated for each resource being attached to a bare metal server network interface:\n- reserved IPs\n- security groups",
              "name": "is.bare-metal-server.network-interface.attach"
            },
            {
              "description": "Generated for each reserved IP being attached to:\n- a bare metal server network interface, or\n- a virtual network interface",
              "name": "is.subnet.reserved-ip.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.reserved-ip.create"
            },
            {
              "description": "Generated for each security group being attached to:\n- a bare metal server network interface, or\n- a new virtual network interface",
              "name": "is.security-group.security-group.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Generated for each reservation specified in `reservation_affinity.pool`.",
              "name": "is.bare-metal-server.bare-metal-server.attach"
            },
            {
              "description": "Generated for each reservation specified in `reservation_affinity.pool`.",
              "name": "is.reservation.reservation.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.create"
            },
            {
              "description": "Required for each subnet with an existing reserved IP being attached to a bare metal\nserver network interface or to a virtual network interface",
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required for each subnet where a new reserved IP is specified on a bare metal\nserver network interface or on a virtual network interface",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Required for bare metal server network interfaces, or for bare metal server network\nattachments that specify a new virtual network interface",
              "name": "is.security-group.security-group.operate"
            },
            {
              "name": "is.vpc.vpc.operate"
            },
            {
              "name": "is.key.key.operate"
            },
            {
              "name": "is.image.image.operate"
            },
            {
              "description": "Required when `allow_ip_spoofing` is `true` on any bare metal server\nnetwork interface",
              "name": "is.bare-metal-server.bare-metal-server.ip-spoofing"
            },
            {
              "description": "Required when `enable_infrastructure_nat` is `false` on any bare metal server\nnetwork interface",
              "name": "is.bare-metal-server.bare-metal-server.infrastructure-nat"
            },
            {
              "description": "Required when `reservation_affinity.pools` is specified.",
              "name": "is.reservation.reservation.operate"
            },
            {
              "description": "Required when `default_trusted_profile.target` specifies a trusted profile",
              "name": "iam-identity.profile.get"
            },
            {
              "description": "Required when `default_trusted_profile.auto_link` is `true`",
              "name": "iam-identity.profile.update"
            },
            {
              "description": "Required when `default_trusted_profile.auto_link` is `true`",
              "name": "iam-identity.profile.linkToResource"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface with `enable_infrastructure_nat` set to `false`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface with `allow_ip_spoofing` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-ip-spoofing"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface with `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/bare_metal_servers?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"initialization\": {\n    \"image\": {\n      \"id\": \"r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8\"\n    },\n    \"keys\": [\n      {\n        \"id\": \"r006-82679077-ac3b-4c10-be16-63e9c21f0f45\"\n      }\n    ]\n  },\n  \"primary_network_interface\": {\n      \"interface_type\": \"pci\",\n      \"name\": \"my-primary-network-interface\",\n        \"subnet\": {\n          \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n        },\n      \"allowed_vlans\": [\n        4\n      ]\n  },\n  \"network_interfaces\": [\n    {\n      \"interface_type\": \"vlan\",\n      \"name\": \"my-vlan-interface\",\n      \"allow_interface_to_float\": true,\n      \"subnet\": {\n        \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n      },\n      \"vlan\": 4\n    }\n  ],\n  \"name\": \"my-bare-metal-server\",\n  \"profile\": {\n    \"name\": \"bx2d-metal-192x768\"\n  },\n  \"zone\": {\n    \"name\": \"us-south-1\"\n  }\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "imageIdentityModel := &vpcv1.ImageIdentityByID{\n  ID: &imageID,\n}\nkeyIdentityModel := &vpcv1.KeyIdentityByID{\n  ID: &keyID,\n}\nbareMetalServerInitializationPrototypeModel :=\n  &vpcv1.BareMetalServerInitializationPrototype{\n    Image: imageIdentityModel,\n    Keys:  []vpcv1.KeyIdentityIntf{keyIdentityModel},\n  }\nsubnetIdentityModel := &vpcv1.SubnetIdentityByID{\n  ID: &subnetId,\n}\nbareMetalServerPrimaryNetworkInterfacePrototypeModel :=\n  &vpcv1.BareMetalServerPrimaryNetworkInterfacePrototype{\n    Subnet: subnetIdentityModel,\n  }\nbareMetalServerProfileIdentityModel :=\n  &vpcv1.BareMetalServerProfileIdentityByName{\n    Name: &bareMetalServerProfileName,\n  }\nzoneIdentityModel := &vpcv1.ZoneIdentityByName{\n  Name: &zoneName,\n}\noptions := &vpcv1.CreateBareMetalServerOptions{\n  Initialization:          bareMetalServerInitializationPrototypeModel,\n  PrimaryNetworkInterface: bareMetalServerPrimaryNetworkInterfacePrototypeModel,\n  Profile:                 bareMetalServerProfileIdentityModel,\n  Zone:                    zoneIdentityModel,\n  Name:                    &[]string{\"my-bare-metal-server\"}[0],\n}\nbareMetalServer, response, err := vpcService.CreateBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ImageIdentityById imageIdentityModel = new ImageIdentityById.Builder()\n  .id(imageId)\n  .build();\nKeyIdentityById keyIdentityModel = new KeyIdentityById.Builder()\n  .id(keyId)\n  .build();\nBareMetalServerInitializationPrototype bareMetalServerInitializationPrototypeModel = new BareMetalServerInitializationPrototype.Builder()\n  .image(imageIdentityModel)\n  .keys(new java.util.ArrayList<KeyIdentity>(java.util.Arrays.asList(keyIdentityModel)))\n  .build();\nSubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n  .id(subnetId)\n  .build();\nLong[] allowedVlans = {4L};\nBareMetalServerPrimaryNetworkInterfacePrototype bareMetalServerPrimaryNetworkInterfacePrototypeModel = new BareMetalServerPrimaryNetworkInterfacePrototype.Builder()\n  .interfaceType(\"pci\")\n  .allowedVlans(new java.util.ArrayList<Long>(java.util.Arrays.asList(allowedVlans)))\n  .enableInfrastructureNat(true)\n  .name(\"my-network-interface\")\n  .subnet(subnetIdentityModel)\n  .build();\nBareMetalServerProfileIdentityByName bareMetalServerProfileIdentityModel = new BareMetalServerProfileIdentityByName.Builder()\n  .name(bareMetalServerProfileName)\n  .build();\nVPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n  .name(zoneName)\n  .build();\nCreateBareMetalServerOptions createBareMetalServerOptions = new CreateBareMetalServerOptions.Builder()\n  .initialization(bareMetalServerInitializationPrototypeModel)\n  .primaryNetworkInterface(bareMetalServerPrimaryNetworkInterfacePrototypeModel)\n  .profile(bareMetalServerProfileIdentityModel)\n  .name(\"my-bare-metal-server\")\n  .vpc(vpcIdentityModel)\n  .zone(zoneIdentityModel)\n  .build();\nResponse<BareMetalServer> response = vpcService.createBareMetalServer(createBareMetalServerOptions).execute();\nBareMetalServer bareMetalServer = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const imageIdentityModel = {\n  id: imageId,\n};\n\nconst keyIdentityModel = {\n  id: keyId,\n};\n\nconst bareMetalServerInitializationPrototypeModel = {\n  image: imageIdentityModel,\n  keys: [keyIdentityModel],\n  user_data: userData,\n};\n\nconst subnetIdentityModel = {\n  id: subnetId,\n};\n\nconst bareMetalServerPrimaryNetworkInterfacePrototypeModel = {\n  allow_ip_spoofing: true,\n  allowed_vlans: [4],\n  enable_infrastructure_nat: true,\n  interface_type: 'pci',\n  name: 'my-network-interface',\n  subnet: subnetIdentityModel,\n};\n\nconst bareMetalServerProfileIdentityModel = {\n  name: bareMetalServerProfileName,\n};\n\nconst zoneIdentityModel = {\n  name: zone,\n};\n\nconst vpcIdentityModel = {\n  id: vpcId,\n};\n\nconst params = {\n  initialization: bareMetalServerInitializationPrototypeModel,\n  primaryNetworkInterface: bareMetalServerPrimaryNetworkInterfacePrototypeModel,\n  profile: bareMetalServerProfileIdentityModel,\n  zone: zoneIdentityModel,\n  name: 'my-bare-metal-server',\n  vpc: vpcIdentityModel,\n};\n\nconst response = await vpcService.createBareMetalServer(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "image_identity_model = {\n    'id': imageId,\n}\nkey_identity_model = {\n    'id': keyId,\n}\nbare_metal_server_initialization_prototype_model = {\n    'image': image_identity_model,\n    'keys': [key_identity_model],\n}\nbare_metal_server_primary_network_interface_prototype_model = {\n    'subnet': {\n        'id': subnetId,\n    },\n}\nzone_identity_model = {\n    'name': zone,\n}\nbare_metal_server = service.create_bare_metal_server(\n    initialization=bare_metal_server_initialization_prototype_model,\n    primary_network_interface=\n    bare_metal_server_primary_network_interface_prototype_model,\n    profile={\n        'name': bareMetalServerProfileName\n    },\n    name='my-bare-metal-server',\n  zone=zone_identity_model).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/console": {
      "get": {
        "description": "This retrieves a WebSocket providing a console for the bare metal server.  An `access_token`\nmust first be created using the `console_access_token` API.  The `serial` WebSocket provides\na TTY based interface.  The `vnc` WebSocket provides a VNC based graphical interface.  For\nthis request to succeed, the server must have a `status` of `stopped`, `starting`, or\n`running`.",
        "operationId": "get_bare_metal_server_console",
        "parameters": [
          {
            "$ref": "#/components/parameters/bareMetalServerConsoleAccessToken"
          }
        ],
        "responses": {
          "101": {
            "description": "A WebSocket connection was established."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The open console limit for bare metal servers was reached."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server console access token was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A console WebSocket cannot be retrieved in the server's current state."
          },
          "426": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The WebSocket protocol is required."
          }
        },
        "summary": "Retrieve the console WebSocket for a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.console.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            },
            {
              "name": "is.bare-metal-server.bare-metal-server.console"
            }
          ]
        },
        "x-sdk-exclude": true,
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/console?version=2026-06-30&generation=2&access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk',\n};\nconst response = await vpcService.getBareMetalServerConsole(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        }
      ]
    },
    "/bare_metal_servers/{bare_metal_server_id}/console_access_token": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        }
      ],
      "post": {
        "description": "This request creates a new single-use console access token for a bare metal server.\nAll console configuration is provided at token create time, and the token is\nsubsequently used in the `access_token` query parameter for the WebSocket request.  The\naccess token is only valid for a short period of time, and a maximum of one token is valid\nfor a given bare metal server at a time.  For this request to succeed, the server must have\na `status` of `stopped`, `starting`, or `running`.",
        "operationId": "create_bare_metal_server_console_access_token",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "console_type": "serial",
                "force": true
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerConsoleAccessTokenPrototype"
              }
            }
          },
          "description": "The bare metal server console access token prototype",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
                  "console_type": "serial",
                  "created_at": "2020-07-27T21:50:14.000Z",
                  "expires_at": "2020-07-27T21:51:14.000Z",
                  "force": true,
                  "href": "wss://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk"
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerConsoleAccessToken"
                }
              }
            },
            "description": "The access token was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server console access token prototype object was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server console access token is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A console access token cannot be created in the server's current state."
          }
        },
        "summary": "Create a console access token for a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.console.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            },
            {
              "name": "is.bare-metal-server.bare-metal-server.console"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/console_access_token?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"console_type\": \"vnc\"\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateBareMetalServerConsoleAccessTokenOptions{\n  BareMetalServerID: &bareMetalServerId,\n}\noptions.SetConsoleType(\"serial\")\nbareMetalServerConsoleAccessToken, response, err :=\n  vpcService.CreateBareMetalServerConsoleAccessToken(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateBareMetalServerConsoleAccessTokenOptions createBareMetalServerConsoleAccessTokenOptions = new CreateBareMetalServerConsoleAccessTokenOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .consoleType(\"serial\")\n  .build();\nResponse<BareMetalServerConsoleAccessToken> response = vpcService.createBareMetalServerConsoleAccessToken(createBareMetalServerConsoleAccessTokenOptions).execute();\nBareMetalServerConsoleAccessToken bareMetalServerConsoleAccessToken = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  consoleType: 'serial',\n};\nconst response = await vpcService.createBareMetalServerConsoleAccessToken(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_console_access_token =\n  service.create_bare_metal_server_console_access_token(\n      bare_metal_server_id=bare_metal_server_id,\n      console_type='serial').get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/disks": {
      "get": {
        "description": "This request lists  disks on a bare metal server.  A disk is a block device that is\nlocally attached to the physical server.  By default, the listed disks are sorted by\ntheir `created_at` property values, with the newest disk first.",
        "operationId": "list_bare_metal_server_disks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "disks": [
                    {
                      "allowed_use": {
                        "api_version": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "fcp",
                      "name": "my-bare-metal-server-disk",
                      "resource_type": "bare_metal_server_disk",
                      "size": 100
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerDiskCollection"
                }
              }
            },
            "description": "The disks were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          }
        },
        "summary": "List disks on a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.disk.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/disks?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListBareMetalServerDisksOptions{\n  BareMetalServerID: &bareMetalServerId,\n}\nbareMetalServerDiskCollection, response, err :=\n  vpcService.ListBareMetalServerDisks(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBareMetalServerDisksOptions listBareMetalServerDisksOptions = new ListBareMetalServerDisksOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .build();\nResponse<BareMetalServerDiskCollection> response = vpcService.listBareMetalServerDisks(listBareMetalServerDisksOptions).execute();\nBareMetalServerDiskCollection bareMetalServerDiskCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n};\nconst response = await vpcService.listBareMetalServerDisks(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_disk_collection = service.list_bare_metal_server_disks(\n    bare_metal_server_id=bare_metal_server_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        }
      ]
    },
    "/bare_metal_servers/{bare_metal_server_id}/disks/{id}": {
      "get": {
        "description": "This request retrieves a single disk specified by the identifier in the URL.",
        "operationId": "get_bare_metal_server_disk",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "fcp",
                  "name": "my-bare-metal-server-disk",
                  "resource_type": "bare_metal_server_disk",
                  "size": 100
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerDisk"
                }
              }
            },
            "description": "The disk was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server disk with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a bare metal server disk",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.disk.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/disks/$disk_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerDiskOptions{\n  BareMetalServerID: &bareMetalServerId,\n  ID:                &bareMetalServerDiskId,\n}\nbareMetalServerDisk, response, err := vpcService.GetBareMetalServerDisk(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerDiskOptions getBareMetalServerDiskOptions = new GetBareMetalServerDiskOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerDiskId)\n  .build();\nResponse<BareMetalServerDisk> response = vpcService.getBareMetalServerDisk(getBareMetalServerDiskOptions).execute();\nBareMetalServerDisk bareMetalServerDisk = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  id: bareMetalServerDiskId,\n};\nconst response = await vpcService.getBareMetalServerDisk(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_disk = service.get_bare_metal_server_disk(\n    bare_metal_server_id=bare_metal_server_id,\n    id=bare_metal_disk_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerDiskIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates the bare metal server disk with the information in a provided patch.",
        "operationId": "update_bare_metal_server_disk",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-bare-metal-server-disk-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerDiskPatch"
              }
            }
          },
          "description": "The bare metal server disk patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "fcp",
                  "name": "my-bare-metal-server-disk",
                  "resource_type": "bare_metal_server_disk",
                  "size": 100
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerDisk"
                }
              }
            },
            "description": "The bare metal server disk was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server disk patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server disk is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server disk with the specified identifier could not be found for the\nspecified bare metal server."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server disk patch conflicts with another disk for the\nbare metal server."
          }
        },
        "summary": "Update a bare metal server disk",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.disk.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/disks/$disk_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"name\": \"my-disk-updated\"\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "bareMetalServerDiskPatchModel := &vpcv1.BareMetalServerDiskPatch{}\nbareMetalServerDiskPatchModel.Name =\n  &[]string{\"my-bare-metal-server-disk-update\"}[0]\nbareMetalServerDiskPatchModelAsPatch, asPatchErr :=\n  bareMetalServerDiskPatchModel.AsPatch()\noptions := &vpcv1.UpdateBareMetalServerDiskOptions{\n  BareMetalServerID:        &bareMetalServerId,\n  ID:                       &bareMetalServerDiskId,\n  BareMetalServerDiskPatch: bareMetalServerDiskPatchModelAsPatch,\n}\nbareMetalServerDisk, response, err := vpcService.UpdateBareMetalServerDisk(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BareMetalServerDiskPatch bareMetalServerDiskPatchModel = new BareMetalServerDiskPatch.Builder()\n  .name(\"my-bare-metal-server-disk-update\")\n  .build();\nMap<String, Object> bareMetalServerDiskPatchModelAsPatch = bareMetalServerDiskPatchModel.asPatch();\nUpdateBareMetalServerDiskOptions updateBareMetalServerDiskOptions = new UpdateBareMetalServerDiskOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerDiskId)\n  .bareMetalServerDiskPatch(bareMetalServerDiskPatchModelAsPatch)\n  .build();\nResponse<BareMetalServerDisk> response = vpcService.updateBareMetalServerDisk(updateBareMetalServerDiskOptions).execute();\nBareMetalServerDisk bareMetalServerDisk = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  id:  bareMetalServerDiskId,\n  name: 'my-bare-metal-server-disk-updated',\n};\nconst response = await vpcService.updateBareMetalServerDisk(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_disk_patch_model = {\n    'name': 'my-bare-metal-server-disk',\n}\nbare_metal_server_disk = service.update_bare_metal_server_disk(\n    bare_metal_server_id=bare_metal_server_id,\n    id=bare_metal_disk_id,\n    bare_metal_server_disk_patch=bare_metal_server_disk_patch_model\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_attachments": {
      "get": {
        "description": "This request lists network attachments on a bare metal server. A bare metal server\nnetwork attachment is an abstract representation of a network device and attaches a bare\nmetal server to a single subnet. Each network interface on a bare metal server can attach\nto any subnet in the zone, including subnets that are already attached to the bare metal\nserver.\n\nThe network attachments will be sorted by their `created_at` property values, with newest\nnetwork attachments first. Network attachments with identical `created_at` property values\nwill in turn be sorted by ascending `name` property values.",
        "operationId": "list_bare_metal_server_network_attachments",
        "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/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_attachments?limit=20"
                  },
                  "limit": 20,
                  "network_attachments": [
                    {
                      "allowed_vlans": [
                        4
                      ],
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "pci",
                      "lifecycle_state": "deleting",
                      "name": "my-bare-metal-server-network-attachment",
                      "port_speed": 1000,
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentCollection"
                }
              }
            },
            "description": "The bare metal server network attachments were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          }
        },
        "summary": "List network attachments on a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListBareMetalServerNetworkAttachmentsOptions{\n  BareMetalServerID: &bareMetalServerId,\n}\nbareMetalServerNetworkAttachmentCollection, response, err :=\n  vpcService.ListBareMetalServerNetworkAttachments(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBareMetalServerNetworkAttachmentsOptions listBareMetalServerNetworkAttachmentsOptions = new ListBareMetalServerNetworkAttachmentsOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .build();\nResponse<BareMetalServerNetworkAttachmentCollection> response = vpcService.listBareMetalServerNetworkAttachments(listBareMetalServerNetworkAttachmentsOptions).execute();\nBareMetalServerNetworkAttachmentCollection bareMetalServerNetworkAttachmentCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.ListBareMetalServerNetworkAttachments({ bareMetalServerId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_network_attachment_collection = service.list_bare_metal_server_network_attachments(\n    bare_metal_server_id,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        }
      ],
      "post": {
        "description": "This request creates a new bare metal server network attachment from a bare metal server\nnetwork attachment prototype object. The prototype object is structured in the same way as\na retrieved bare metal server network attachment, and contains the information necessary to\ncreate the new bare metal server network attachment.",
        "operationId": "create_bare_metal_server_network_attachment",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "allowed_vlans": [
                  4
                ],
                "interface_type": "pci",
                "name": "my-bare-metal-server-network-attachment",
                "virtual_network_interface": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "enable_infrastructure_nat": true,
                  "ips": [
                    {
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                    }
                  ],
                  "name": "my-virtual-network-interface",
                  "primary_ip": {
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                  },
                  "protocol_state_filtering_mode": "auto",
                  "resource_group": {
                    "id": "fee82deba12e4c0fb69c3b09d1f12345"
                  },
                  "security_groups": [
                    {
                      "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                    }
                  ],
                  "subnet": {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                }
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentPrototype"
              }
            }
          },
          "description": "The bare metal server network attachment prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_vlans": [
                    4
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "pci",
                  "lifecycle_state": "deleting",
                  "name": "my-bare-metal-server-network-attachment",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkAttachment"
                }
              }
            },
            "description": "The bare metal server network attachment was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server network attachment prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network attachment prototype object conflicts with\nanother network attachment for the bare metal server."
          }
        },
        "summary": "Create a network attachment on a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "description": "Generated for each virtual network interface created",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Generated for:\n- each virtual network interface being attached to a bare metal server network attachment\n- each virtual network interface for each reserved IP being attached to it\n- each virtual network interface for each security group being attached to it",
              "name": "is.virtual-network-interface.virtual-network-interface.attach"
            },
            {
              "description": "Generated for each virtual network interface being attached to a bare metal server\nnetwork attachment",
              "name": "is.bare-metal-server.network-attachment.attach"
            },
            {
              "name": "is.bare-metal-server.network-attachment.create"
            },
            {
              "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 security group being attached to a new virtual network interface",
              "name": "is.security-group.security-group.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.subnet.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface",
              "name": "is.security-group.security-group.operate"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface and an existing reserved IP on a subnet",
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface and a new reserved IP on a subnet",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface with `enable_infrastructure_nat` set to `false`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface with `allow_ip_spoofing` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-ip-spoofing"
            },
            {
              "description": "Required for bare metal server network attachments that specify a new virtual network\ninterface with `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/bare_metal_servers/$bare_metal_server_id/network_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"interface_type\": \"vlan\",\n  \"name\": \"my-vlan-network-attachment\",\n  \"virtual_network_interface\": {\n    \"id\": \"0717-54eb57ee-86f2-4796-90bb-d7874e0831ef\"\n  },\n  \"vlan\": 4\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "virtualNetworkInterfaceModel := &vpcv1.BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity{\n  ID: &virtualNetworkInterfaceId,\n}\nbareMetalServerNetworkAttachmentPrototypeModel :=\n  &vpcv1.BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype{\n    InterfaceType: &[]string{\"pci\"}[0],\n    VirtualNetworkInterface:        virtualNetworkInterfaceModel,\n    Name:          &[]string{\"my-network-attachment\"}[0],\n  }\noptions := &vpcv1.CreateBareMetalServerNetworkAttachmentOptions{\n  BareMetalServerID:                        &bareMetalServerId,\n  BareMetalServerNetworkAttachmentPrototype:\n    bareMetalServerNetworkAttachmentPrototypeModel,\n}\nbareMetalServerNetworkAttachment, response, err :=\n  vpcService.CreateBareMetalServerNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext bareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceModel = new BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext.Builder()\n  .id(virtualNetworkInterfaceId);\n  .build();\nBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPCIPrototype bareMetalServerNetworkAttachmentPrototypeModel = new BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPCIPrototype.Builder()\n  .virtualNetworkInterface(bareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceModel)\n  .name(\"my-network-attachment\")\n  .interfaceType(\"pci\")\n  .build();\nCreateBareMetalServerNetworkAttachmentOptions createBareMetalServerNetworkAttachmentOptions = new CreateBareMetalServerNetworkAttachmentOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .bareMetalServerNetworkAttachmentPrototype(bareMetalServerNetworkAttachmentPrototypeModel)\n  .build();\n\nResponse<BareMetalServerNetworkAttachment> response = vpcService.createBareMetalServerNetworkAttachment(createBareMetalServerNetworkAttachmentOptions).execute();\nBareMetalServerNetworkAttachment bareMetalServerNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const bareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceModel = {\n  id: virtualNetworkInterfaceId,\n};\nconst bareMetalServerNetworkAttachmentPrototypeModel = {\n  virtual_network_interface: bareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceModel,\n  name: 'my-network-attachment',\n  interface_type: 'pci',\n};\nconst params = {\n  bareMetalServerId: bareMetalServerId,\n  bareMetalServerNetworkAttachmentPrototype: bareMetalServerNetworkAttachmentPrototypeModel,\n};\nconst response = await vpcService.createBareMetalServerNetworkAttachment(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "subnet_identity_model = {}\nsubnet_identity_model['id'] = subnetId\n\nbare_metal_server_network_attachment_prototype_virtual_network_interface_model = {}\nbare_metal_server_network_attachment_prototype_virtual_network_interface_model['name'] = 'my-virtual-network-interface'\nbare_metal_server_network_attachment_prototype_virtual_network_interface_model['subnet'] = subnet_identity_model\n\nbare_metal_server_network_attachment_prototype_model = {}\nbare_metal_server_network_attachment_prototype_model['name'] = 'my-bare-metal-server-network-attachment'\nbare_metal_server_network_attachment_prototype_model['virtual_network_interface'] = bare_metal_server_network_attachment_prototype_virtual_network_interface_model\nbare_metal_server_network_attachment_prototype_model['interface_type'] = 'pci'\n\nbare_metal_server_network_attachment_prototype = bare_metal_server_network_attachment_prototype_model\nbare_metal_server_network_attachment = _service.create_bare_metal_server_network_attachment(\n    bare_metal_server_id,\n    bare_metal_server_network_attachment_prototype,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_attachments/{id}": {
      "delete": {
        "description": "This request deletes a bare metal server network attachment. This operation cannot be\nreversed. Any floating IPs associated with the bare metal server network attachment are\nimplicitly disassociated.\n\nThe bare metal server's primary network attachment cannot be deleted.",
        "operationId": "delete_bare_metal_server_network_attachment",
        "responses": {
          "202": {
            "description": "The bare metal server network attachment deletion request was accepted."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network attachment is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network attachment with the specified identifier could not be\nfound."
          }
        },
        "summary": "Delete a bare metal server network attachment",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-attachment.delete"
            },
            {
              "description": "Generated for the attached virtual network interface, and also generated for each\nreserved IP that was attached to the virtual network interface if the virtual network\ninterface had `auto_delete` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.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 each floating IP that was attached to a virtual network interface that\nhad `auto_delete` set to `true`",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated for each reserved IP that was attached to a virtual network interface that\nhad `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 attached\nto 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 attached\nto 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 that\nhad `auto_delete` set to `true`",
              "name": "is.security-group.security-group.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_attachments/$network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteBareMetalServerNetworkAttachmentOptions{\n  BareMetalServerID: &bareMetalServerId,\n  ID:                &bareMetalServerNetworkAttachmentId,\n}\nresponse, err := vpcService.DeleteBareMetalServerNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteBareMetalServerNetworkAttachmentOptions deleteBareMetalServerNetworkAttachmentOptions = new DeleteBareMetalServerNetworkAttachmentOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerNetworkAttachmentId)\n  .build();\n\nResponse<Void> response = vpcService.deleteBareMetalServerNetworkAttachment(deleteBareMetalServerNetworkAttachmentOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteBareMetalServerNetworkAttachment({\n  bareMetalServerId,\n  bareMetalServerNetworkAttachmentId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.delete_bare_metal_server_network_attachment(\n    bare_metal_server_id=bare_metal_server_id,\n    id=bare_metal_server_network_attachment_id,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single bare metal server network attachment specified by the\nidentifier in the URL.",
        "operationId": "get_bare_metal_server_network_attachment",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_vlans": [
                    4
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "pci",
                  "lifecycle_state": "deleting",
                  "name": "my-bare-metal-server-network-attachment",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkAttachment"
                }
              }
            },
            "description": "The bare metal server network attachment was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network attachment with the specified identifier could not be\nfound."
          }
        },
        "summary": "Retrieve a bare metal server network attachment",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_attachments/$network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerNetworkAttachmentOptions{\n  BareMetalServerID: &bareMetalServerId,\n  ID:                &bareMetalServerNetworkAttachmentId,\n}\nbareMetalServerNetworkAttachment, response, err :=\n  vpcService.GetBareMetalServerNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerNetworkAttachmentOptions getBareMetalServerNetworkAttachmentOptions = new GetBareMetalServerNetworkAttachmentOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerNetworkAttachmentId)\n  .build();\n\nResponse<BareMetalServerNetworkAttachment> response = vpcService.getBareMetalServerNetworkAttachment(getBareMetalServerNetworkAttachmentOptions).execute();\nBareMetalServerNetworkAttachment bareMetalServerNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getBareMetalServerNetworkAttachment({\n  bareMetalServerId,\n  bareMetalServerNetworkAttachmentId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.get_bare_metal_server_network_attachment(\n    bare_metal_server_id=bare_metal_server_id,\n    id=bare_metal_server_network_attachment_id,\n)\nbare_metal_server_network_attachment = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerNetworkAttachmentIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a bare metal server network attachment with the information provided\nin a bare metal server network attachment patch object. The bare metal server network\nattachment patch object is structured in the same way as a retrieved bare metal server\nnetwork attachment and contains only the information to be updated.",
        "operationId": "update_bare_metal_server_network_attachment",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "allowed_vlans": [
                  4
                ],
                "name": "my-bare-metal-server-network-attachment-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerNetworkAttachmentPatch"
              }
            }
          },
          "description": "The bare metal server network attachment patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_vlans": [
                    4
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "pci",
                  "lifecycle_state": "deleting",
                  "name": "my-bare-metal-server-network-attachment",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkAttachment"
                }
              }
            },
            "description": "The bare metal server network attachment was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server network attachment patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network attachment with the specified identifier could not be\nfound."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network attachment patch conflicts with another\nnetwork attachment for the bare metal server."
          }
        },
        "summary": "Update a bare metal server network attachment",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-attachment.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_attachments/$network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"allowed_vlans\": [\n    4,5,6\n  ]\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "bareMetalServerNetworkAttachmentPatchModel :=\n  &vpcv1.BareMetalServerNetworkAttachmentPatch{\n    Name: &[]string{\"my-network-attachment-update\"}[0],\n  }\nbareMetalServerNetworkAttachmentPatchModelAsPatch, asPatchErr :=\n  bareMetalServerNetworkAttachmentPatchModel.AsPatch()\noptions := &vpcv1.UpdateBareMetalServerNetworkAttachmentOptions{\n  BareMetalServerID:                    &bareMetalServerId,\n  ID:                                   &bareMetalServerNetworkAttachmentId,\n  BareMetalServerNetworkAttachmentPatch:\n    bareMetalServerNetworkAttachmentPatchModelAsPatch,\n}\nbareMetalServerNetworkAttachment, response, err :=\n  vpcService.UpdateBareMetalServerNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BareMetalServerNetworkAttachmentPatch bareMetalServerNetworkAttachmentPatchModel = new BareMetalServerNetworkAttachmentPatch.Builder()\n  .name(\"my-network-attachment-update\")\n  .build();\nMap<String, Object> bareMetalServerNetworkAttachmentPatchModelAsPatch = bareMetalServerNetworkAttachmentPatchModel.asPatch();\nUpdateBareMetalServerNetworkAttachmentOptions updateBareMetalServerNetworkAttachmentOptions = new UpdateBareMetalServerNetworkAttachmentOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerNetworkAttachmentId)\n  .bareMetalServerNetworkAttachmentPatch(bareMetalServerNetworkAttachmentPatchModelAsPatch)\n  .build();\n\nResponse<BareMetalServerNetworkAttachment> response = vpcService.updateBareMetalServerNetworkAttachment(updateBareMetalServerNetworkAttachmentOptions).execute();\nBareMetalServerNetworkAttachment bareMetalServerNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  id: bareMetalServerNetworkAttachmentId,\n  name: 'my-network-attachment-updated',\n};\nconst response = await vpcService.updateBareMetalServerNetworkAttachment(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_network_attachment_patch_model = {\n  'name'='my-network-attachment-update'\n}\nresponse = vpc_service.update_bare_metal_server_network_attachment(\n    bare_metal_server_id=bare_metal_server_id,\n    id=bare_metal_server_network_attachment_id,\n    bare_metal_server_network_attachment_patch=bare_metal_server_network_attachment_patch_model,\n)\nbare_metal_server_network_attachment = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_interfaces": {
      "get": {
        "description": "This request lists network interfaces on a bare metal server. A bare metal server\nnetwork interface is an abstract representation of a network device and attaches a bare\nmetal server to a single subnet. Each network interface on a bare metal server can attach\nto any subnet in the zone, including subnets that are already attached to the bare metal\nserver.\n\nIf this bare metal server has network attachments, each returned network interface\nis 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.",
        "operationId": "list_bare_metal_server_network_interfaces",
        "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/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/network_interfaces?limit=20"
                  },
                  "limit": 20,
                  "network_interfaces": [
                    {
                      "allow_ip_spoofing": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "enable_infrastructure_nat": true,
                      "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "hipersocket",
                      "mac_address": "02:00:04:00:C4:6A",
                      "name": "my-bare-metal-server-network-interface",
                      "port_speed": 1000,
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                    }
                  ],
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkInterfaceCollection"
                }
              }
            },
            "description": "The bare metal server network interfaces were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          }
        },
        "summary": "List network interfaces on a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListBareMetalServerNetworkInterfacesOptions{\n  BareMetalServerID: &bareMetalServerId,\n}\nbareMetalServerNetworkInterfaceCollection, response, err :=\n  vpcService.ListBareMetalServerNetworkInterfaces(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBareMetalServerNetworkInterfacesOptions listBareMetalServerNetworkInterfacesOptions = new ListBareMetalServerNetworkInterfacesOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .build();\nResponse<BareMetalServerNetworkInterfaceCollection> response = vpcService.listBareMetalServerNetworkInterfaces(listBareMetalServerNetworkInterfacesOptions).execute();\nBareMetalServerNetworkInterfaceCollection bareMetalServerNetworkInterfaceCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n};\nconst response = await vpcService.listBareMetalServerNetworkInterfaces(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_network_interface_collection =\n  service.list_bare_metal_server_network_interfaces(\n    bare_metal_server_id=bare_metal_server_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        }
      ],
      "post": {
        "description": "This request creates a new bare metal server network interface from a bare metal server\nnetwork interface prototype object. The prototype object is structured in the same way as\na retrieved bare metal server network interface, and contains the information necessary to\ncreate the new bare metal server network interface. Any subnet in the bare metal server's\nVPC may be specified, even if it is already attached to another bare metal server network\ninterface. Addresses on the bare metal server network interface must be within the\nspecified subnet's CIDR blocks.\n\nIf this bare metal server 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, and\nnew network interfaces are not allowed to be created.",
        "operationId": "create_bare_metal_server_network_interface",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "allow_ip_spoofing": true,
                "enable_infrastructure_nat": true,
                "interface_type": "hipersocket",
                "name": "my-bare-metal-server-network-interface",
                "primary_ip": {
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                },
                "security_groups": [
                  {
                    "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                  }
                ],
                "subnet": {
                  "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerNetworkInterfacePrototype"
              }
            }
          },
          "description": "The bare metal server network interface prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "enable_infrastructure_nat": true,
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "hipersocket",
                  "mac_address": "02:00:04:00:C4:6A",
                  "name": "my-bare-metal-server-network-interface",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkInterface"
                }
              }
            },
            "description": "The bare metal server network interface was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server network interface prototype object was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network interface is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network interface prototype object conflicts with another\nnetwork interface for the bare metal server."
          }
        },
        "summary": "Create a network interface on a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.create"
            },
            {
              "description": "Generated for each resource attached to the bare metal server network interface:\n- a security group\n- a reserved IP",
              "name": "is.bare-metal-server.network-interface.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.reserved-ip.create"
            },
            {
              "description": "Generated for each reserved IP attached to the bare metal server network interface",
              "name": "is.subnet.reserved-ip.attach"
            },
            {
              "description": "Generated for each security group attached to the bare metal server network interface",
              "name": "is.security-group.security-group.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.subnet.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            },
            {
              "description": "Required for bare metal server network interfaces that specify an existing reserved IP\non a subnet",
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required for bare metal server network interfaces that specify a new reserved IP on a\nsubnet",
              "name": "is.subnet.subnet.update"
            },
            {
              "name": "is.security-group.security-group.operate"
            },
            {
              "description": "Required when `allow_ip_spoofing` is `true` on any bare metal server network interface",
              "name": "is.bare-metal-server.bare-metal-server.ip-spoofing"
            },
            {
              "description": "Required when `enable_infrastructure_nat` is `false` on any bare metal server network\ninterface",
              "name": "is.bare-metal-server.bare-metal-server.infrastructure-nat"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"interface_type\": \"vlan\",\n  \"name\": \"my-vlan\",\n  \"subnet\": {\n    \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n  },\n  \"vlan\": 4\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "subnetIdentityModel := &vpcv1.SubnetIdentityByID{\n  ID: &subnetId,\n}\nbareMetalServerNetworkInterfacePrototypeModel :=\n  &vpcv1.BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype{\n    InterfaceType: &[]string{\"pci\"}[0],\n    Subnet:        subnetIdentityModel,\n    Name:          &[]string{\"my-network-interface\"}[0],\n  }\noptions := &vpcv1.CreateBareMetalServerNetworkInterfaceOptions{\n  BareMetalServerID:                        &bareMetalServerId,\n  BareMetalServerNetworkInterfacePrototype:\n    bareMetalServerNetworkInterfacePrototypeModel,\n}\nbareMetalServerNetworkInterface, response, err :=\n  vpcService.CreateBareMetalServerNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "SubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n  .id(subnetId)\n  .build();\nBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVLANPrototype bareMetalServerNetworkInterfacePrototypeModel = new BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVLANPrototype.Builder()\n  .interfaceType(\"vlan\")\n  .name(\"my-network-interface\")\n  .enableInfrastructureNat(true)\n  .subnet(subnetIdentityModel)\n  .vlan(Long.valueOf(\"4\"))\n  .build();\nCreateBareMetalServerNetworkInterfaceOptions createBareMetalServerNetworkInterfaceOptions = new CreateBareMetalServerNetworkInterfaceOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .bareMetalServerNetworkInterfacePrototype(bareMetalServerNetworkInterfacePrototypeModel)\n  .build();\nResponse<BareMetalServerNetworkInterface> response = vpcService.createBareMetalServerNetworkInterface(createBareMetalServerNetworkInterfaceOptions).execute();\nBareMetalServerNetworkInterface bareMetalServerNetworkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const subnetIdentityModel = {\n  id: subnetId,\n};\nconst bareMetalServerNetworkInterfacePrototypeModel = {\n  allow_ip_spoofing: true,\n  enable_infrastructure_nat: true,\n  interface_type: 'vlan',\n  name: 'my-network-interface',\n  subnet: subnetIdentityModel,\n  allow_interface_to_float: false,\n  vlan: 4,\n};\nconst params = {\n  bareMetalServerId: bareMetalServerId,\n  bareMetalServerNetworkInterfacePrototype:\n    bareMetalServerNetworkInterfacePrototypeModel,\n};\nconst response = await vpcService.createBareMetalServerNetworkInterface(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_network_interface_prototype_model = {\n    'interface_type': 'vlan',\n    'subnet': {\n        'id': subnetId\n    },\n    'vlan': 4,\n}\nbare_metal_server_network_interface =\n  service.create_bare_metal_server_network_interface(\n      bare_metal_server_id=bare_metal_server_id,\n      bare_metal_server_network_interface_prototype=\n      bare_metal_server_network_interface_prototype_model).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{id}": {
      "delete": {
        "description": "This request deletes a bare metal server network interface. This operation cannot be\nreversed. Any floating IPs associated with the bare metal server network interface are\nimplicitly disassociated.  The primary bare metal server network interface is not allowed\nto be deleted.\n\nIf this bare metal server 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, and\nis not allowed to be deleted.",
        "operationId": "delete_bare_metal_server_network_interface",
        "responses": {
          "204": {
            "description": "The bare metal server network interface was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network interface is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network interface with the specified identifier could not be found."
          }
        },
        "summary": "Delete a bare metal server network interface",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.delete"
            },
            {
              "description": "Generated for each resource that was attached to this bare metal server network\ninterface:\n- floating IPs\n- reserved IPs\n- security groups",
              "name": "is.bare-metal-server.network-interface.detach"
            },
            {
              "description": "Generated for each floating IP that was attached to this bare metal server network\ninterface",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated for each reserved IP that was attached to this bare metal server network\ninterface",
              "name": "is.subnet.reserved-ip.detach"
            },
            {
              "description": "Generated for each security group that was attached to this bare metal server network\ninterface",
              "name": "is.security-group.security-group.detach"
            },
            {
              "description": "Generated for each reserved IP that had `auto_delete` set to `true` that was attached\nto this bare metal server network interface",
              "name": "is.subnet.reserved-ip.delete"
            },
            {
              "description": "Generated for each reserved IP that had `auto_delete` set to `true` that was attached\nto this bare metal server network interface",
              "name": "is.subnet.subnet.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteBareMetalServerNetworkInterfaceOptions{\n  BareMetalServerID: &bareMetalServerId,\n  ID:                &bareMetalServerNetworkInterfaceId,\n}\nresponse, err := vpcService.DeleteBareMetalServerNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteBareMetalServerNetworkInterfaceOptions deleteBareMetalServerNetworkInterfaceOptions = new DeleteBareMetalServerNetworkInterfaceOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerNetworkInterfaceId)\n  .build();\nResponse<Void> response = vpcService.deleteBareMetalServerNetworkInterface(deleteBareMetalServerNetworkInterfaceOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  id: networkInterfaceId,\n};\nconst response = await vpcService.deleteBareMetalServerNetworkInterface(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_bare_metal_server_network_interface(\n    bare_metal_server_id=bare_metal_server_id,\n    id=network_interface_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single bare metal server network interface specified by the\nidentifier in the URL.\n\nIf this bare metal server has network attachments, the retrieved network interface\nis 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.",
        "operationId": "get_bare_metal_server_network_interface",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "enable_infrastructure_nat": true,
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "hipersocket",
                  "mac_address": "02:00:04:00:C4:6A",
                  "name": "my-bare-metal-server-network-interface",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkInterface"
                }
              }
            },
            "description": "The bare metal server network interface was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network interface with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a bare metal server network interface",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerNetworkInterfaceOptions{\n  BareMetalServerID: &bareMetalServerId,\n  ID:                &bareMetalServerNetworkInterfaceId,\n}\nbareMetalServerNetworkInterface, response, err :=\n  vpcService.GetBareMetalServerNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerNetworkInterfaceOptions getBareMetalServerNetworkInterfaceOptions = new GetBareMetalServerNetworkInterfaceOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerNetworkInterfaceId)\n  .build();\nResponse<BareMetalServerNetworkInterface> response = vpcService.getBareMetalServerNetworkInterface(getBareMetalServerNetworkInterfaceOptions).execute();\nBareMetalServerNetworkInterface bareMetalServerNetworkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  id: networkInterfaceId,\n};\nconst response = await vpcService.getBareMetalServerNetworkInterface(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_network_interface =\n  service.get_bare_metal_server_network_interface(\n    bare_metal_server_id=bare_metal_server_id,\n    id=network_interface_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerNetworkInterfaceIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a bare metal server network interface with the information provided\nin a bare metal server network interface patch object. The bare metal server network\ninterface patch object is structured in the same way as a retrieved bare metal server\nnetwork interface and needs to contain only the information to be updated.\n\nIf this bare metal server 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, and\nis not allowed to be updated.",
        "operationId": "update_bare_metal_server_network_interface",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "allow_ip_spoofing": true,
                "allowed_vlans": [
                  4
                ],
                "enable_infrastructure_nat": true,
                "name": "my-bare-metal-server-network-interface"
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerNetworkInterfacePatch"
              }
            }
          },
          "description": "The bare metal server network interface patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "enable_infrastructure_nat": true,
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "hipersocket",
                  "mac_address": "02:00:04:00:C4:6A",
                  "name": "my-bare-metal-server-network-interface",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerNetworkInterface"
                }
              }
            },
            "description": "The bare metal server network interface was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server network interface patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network interface is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network interface with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server network interface patch conflicts with another\nnetwork interface for the bare metal server."
          }
        },
        "summary": "Update a bare metal server network interface",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            },
            {
              "description": "Required when `allow_ip_spoofing` is changed",
              "name": "is.bare-metal-server.bare-metal-server.ip-spoofing"
            },
            {
              "description": "Required when `enable_infrastructure_nat` is changed",
              "name": "is.bare-metal-server.bare-metal-server.infrastructure-nat"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"allow_ip_spoofing\": true,\n  \"allowed_vlans\": [\n    4,5,6\n  ]\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "bareMetalServerNetworkInterfacePatchModel :=\n  &vpcv1.BareMetalServerNetworkInterfacePatch{\n    Name: &[]string{\"my-network-interface-update\"}[0],\n  }\nbareMetalServerNetworkInterfacePatchModelAsPatch, asPatchErr :=\n  bareMetalServerNetworkInterfacePatchModel.AsPatch()\noptions := &vpcv1.UpdateBareMetalServerNetworkInterfaceOptions{\n  BareMetalServerID:                    &bareMetalServerId,\n  ID:                                   &bareMetalServerNetworkInterfaceId,\n  BareMetalServerNetworkInterfacePatch:\n    bareMetalServerNetworkInterfacePatchModelAsPatch,\n}\nbareMetalServerNetworkInterface, response, err :=\n  vpcService.UpdateBareMetalServerNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BareMetalServerNetworkInterfacePatch bareMetalServerNetworkInterfacePatchModel = new BareMetalServerNetworkInterfacePatch.Builder()\n  .name(\"my-network-interface-updated\")\n  .build();\nMap<String, Object> bareMetalServerNetworkInterfacePatchModelAsPatch = bareMetalServerNetworkInterfacePatchModel.asPatch();\nUpdateBareMetalServerNetworkInterfaceOptions updateBareMetalServerNetworkInterfaceOptions = new UpdateBareMetalServerNetworkInterfaceOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .id(bareMetalServerNetworkInterfaceId)\n  .bareMetalServerNetworkInterfacePatch(bareMetalServerNetworkInterfacePatchModelAsPatch)\n  .build();\nResponse<BareMetalServerNetworkInterface> response = vpcService.updateBareMetalServerNetworkInterface(updateBareMetalServerNetworkInterfaceOptions).execute();\nBareMetalServerNetworkInterface bareMetalServerNetworkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: dict.createdBareMetalServerId,\n  id: networkInterfaceId,\n  allowIpSpoofing: true,\n  allowedVlans: [4],\n  enableInfrastructureNat: true,\n  name: 'my-network-interface-updated',\n};\nconst response = await vpcService.updateBareMetalServerNetworkInterface(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_network_interface_patch_model = {\n    'name': 'my-network-interface-updated'\n}\nbare_metal_server_network_interface =\n  service.update_bare_metal_server_network_interface(\n      bare_metal_server_id=bare_metal_server_id,\n      id=network_interface_id,\n      bare_metal_server_network_interface_patch=\n      bare_metal_server_network_interface_patch_model).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/floating_ips": {
      "get": {
        "description": "This request lists floating IPs associated with a bare metal server network interface.",
        "operationId": "list_bare_metal_server_network_interface_floating_ips",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "floating_ips": [
                    {
                      "address": "203.0.113.1",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "my-resource-group"
                      },
                      "status": "available",
                      "target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "resource_type": "subnet_reserved_ip"
                        },
                        "resource_type": "network_interface"
                      },
                      "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/FloatingIPUnpaginatedCollection"
                }
              }
            },
            "description": "The associated floating IPs were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network interface with the specified identifier could not be found."
          }
        },
        "summary": "List floating IPs associated with a bare metal server network interface",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.floating-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            },
            {
              "description": "Required for all floating IPs associated with the bare metal server network interface",
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id/floating_ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListBareMetalServerNetworkInterfaceFloatingIpsOptions{\n  BareMetalServerID:  &bareMetalServerId,\n  NetworkInterfaceID: &bareMetalServerNetworkInterfaceId,\n}\nfloatingIPUnpaginatedCollection, response, err :=\n  vpcService.ListBareMetalServerNetworkInterfaceFloatingIps(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListBareMetalServerNetworkInterfaceFloatingIpsOptions listBareMetalServerNetworkInterfaceFloatingIpsOptions = new ListBareMetalServerNetworkInterfaceFloatingIpsOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .networkInterfaceId(bareMetalServerNetworkInterfaceId)\n  .build();\nResponse<FloatingIPUnpaginatedCollection> response = vpcService.listBareMetalServerNetworkInterfaceFloatingIps(listBareMetalServerNetworkInterfaceFloatingIpsOptions).execute();\nFloatingIPUnpaginatedCollection floatingIpUnpaginatedCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  networkInterfaceId: networkInterfaceId,\n};\nconst response =\n  await vpcService.listBareMetalServerNetworkInterfaceFloatingIps(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "floating_ip_unpaginated_collection =\n  service.list_bare_metal_server_network_interface_floating_ips(\n      bare_metal_server_id=bare_metal_server_id,\n      network_interface_id=network_interface_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerNetworkInterfaceId"
        }
      ]
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/floating_ips/{id}": {
      "delete": {
        "description": "This request disassociates the specified floating IP from the specified bare metal server\nnetwork interface",
        "operationId": "remove_bare_metal_server_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."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP is not allowed to be disassociated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified floating IP address is not associated with the bare metal server network\ninterface with the specified identifier"
          }
        },
        "summary": "Disassociate a floating IP from a bare metal server network interface",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.detach"
            },
            {
              "name": "is.floating-ip.floating-ip.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.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/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.RemoveBareMetalServerNetworkInterfaceFloatingIPOptions{\n  BareMetalServerID:  &bareMetalServerId,\n  NetworkInterfaceID: &bareMetalServerNetworkInterfaceId,\n  ID:                 &floating,\n}\nresponse, err := vpcService.RemoveBareMetalServerNetworkInterfaceFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "RemoveBareMetalServerNetworkInterfaceFloatingIpOptions removeBareMetalServerNetworkInterfaceFloatingIpOptions = new RemoveBareMetalServerNetworkInterfaceFloatingIpOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .networkInterfaceId(bareMetalServerNetworkInterfaceId)\n  .id(floatingIpId)\n  .build();\nResponse<Void> response = vpcService.removeBareMetalServerNetworkInterfaceFloatingIp(removeBareMetalServerNetworkInterfaceFloatingIpOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  networkInterfaceId: networkInterfaceId,\n  id: floatingIpId,\n};\nconst response =\n  await vpcService.removeBareMetalServerNetworkInterfaceFloatingIp(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.remove_bare_metal_server_network_interface_floating_ip(\n    bare_metal_server_id=bare_metal_server_id,\n    network_interface_id=network_interface_id,\n    id=floating_ip_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a specified floating IP if it is associated with the\nbare metal server network interface specified in the URL",
        "operationId": "get_bare_metal_server_network_interface_floating_ip",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "203.0.113.1",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "status": "available",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    },
                    "resource_type": "network_interface"
                  },
                  "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/FloatingIP"
                }
              }
            },
            "description": "The associated floating IP was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP address is not associated with a bare metal server network interface\nwith the specified identifier"
          }
        },
        "summary": "Retrieve associated floating IP",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.floating-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            },
            {
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerNetworkInterfaceFloatingIPOptions{\n  BareMetalServerID:  &bareMetalServerId,\n  NetworkInterfaceID: &bareMetalServerNetworkInterfaceId,\n  ID:                 &floatingIpId,\n}\nfloatingIP, response, err :=\n  vpcService.GetBareMetalServerNetworkInterfaceFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerNetworkInterfaceFloatingIpOptions getBareMetalServerNetworkInterfaceFloatingIpOptions = new GetBareMetalServerNetworkInterfaceFloatingIpOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .networkInterfaceId(bareMetalServerNetworkInterfaceId)\n  .id(floatingIpId)\n  .build();\nResponse<FloatingIP> response = vpcService.getBareMetalServerNetworkInterfaceFloatingIp(getBareMetalServerNetworkInterfaceFloatingIpOptions).execute();\nFloatingIP floatingIp = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  networkInterfaceId: networkInterfaceId,\n  id: floatingIpId,\n};\nconst response =\n  await vpcService.getBareMetalServerNetworkInterfaceFloatingIp(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "floating_ip = service.get_bare_metal_server_network_interface_floating_ip(\n    bare_metal_server_id=bare_metal_server_id,\n    network_interface_id=network_interface_id,\n    id=floating_ip_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerNetworkInterfaceId"
        },
        {
          "$ref": "#/components/parameters/floatingIPIdUnqualified"
        }
      ],
      "put": {
        "description": "This request associates the specified floating IP with the specified bare metal server\nnetwork interface. If `enable_infrastructure_nat` is `false`, this adds the IP to any\nexisting associations. If `enable_infrastructure_nat` is `true`, this replaces any existing\nassociation.\n\nThe existing floating IP must:\n- not be required by another resource, such as a public gateway\n- be in the same `zone` as the bare metal server\n\nA request body is not required, and if provided, is ignored.",
        "operationId": "add_bare_metal_server_network_interface_floating_ip",
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "address": "203.0.113.1",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "status": "available",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    },
                    "resource_type": "network_interface"
                  },
                  "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/FloatingIP"
                }
              }
            },
            "description": "The floating IP was successfully associated with the bare metal server network\ninterface."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified floating IP could not be associated with the specified bare metal server\nnetwork interface."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP is not allowed to be associated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified bare metal server network interface or floating IP could not be found."
          }
        },
        "summary": "Associate a floating IP with a bare metal server network interface",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.network-interface.attach"
            },
            {
              "name": "is.floating-ip.floating-ip.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.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/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.AddBareMetalServerNetworkInterfaceFloatingIPOptions{\n  BareMetalServerID:  &bareMetalServerId,\n  NetworkInterfaceID: &bareMetalServerNetworkInterfaceId,\n  ID:                 &floatingIpId,\n}\nfloatingIP, response, err :=\n  vpcService.AddBareMetalServerNetworkInterfaceFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "AddBareMetalServerNetworkInterfaceFloatingIpOptions addBareMetalServerNetworkInterfaceFloatingIpOptions = new AddBareMetalServerNetworkInterfaceFloatingIpOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .networkInterfaceId(bareMetalServerNetworkInterfaceId)\n  .id(floatingIpId)\n  .build();\nResponse<FloatingIP> response = vpcService.addBareMetalServerNetworkInterfaceFloatingIp(addBareMetalServerNetworkInterfaceFloatingIpOptions).execute();\nFloatingIP floatingIp = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  networkInterfaceId: networkInterfaceId,\n  id: floatingIpId,\n};\nconst response =\n  await vpcService.addBareMetalServerNetworkInterfaceFloatingIp(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "floating_ip = service.add_bare_metal_server_network_interface_floating_ip(\n    bare_metal_server_id=bare_metal_server_id,\n    network_interface_id=network_interface_id,\n    id=floating_ip_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/ips": {
      "get": {
        "deprecated": true,
        "description": "This request lists the primary reserved IP for a bare metal server network interface.",
        "operationId": "list_bare_metal_server_network_interface_ips",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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": "192.168.3.4",
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "lifecycle_state": "deleting",
                      "name": "my-reserved-ip",
                      "owner": "provider",
                      "resource_type": "subnet_reserved_ip",
                      "target": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 20,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservedIPCollectionBareMetalServerNetworkInterfaceContext"
                }
              }
            },
            "description": "The reserved IPs were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server network interface with the specified identifier could not be\nfound for the specified bare metal server."
          }
        },
        "summary": "List the primary reserved IP for a bare metal server network interface",
        "tags": [
          "Bare metal servers"
        ],
        "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.bare-metal-server.bare-metal-server.read"
            },
            {
              "description": "Required for the subnet attached to the bare metal server network interface",
              "name": "is.subnet.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id/ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListBareMetalServerNetworkInterfaceIpsOptions{\n  BareMetalServerID:  &bareMetalServerId,\n  NetworkInterfaceID: &bareMetalServerNetworkInterfaceId\n}\nreservedIPs, response, err :=\n  vpcService.ListBareMetalServerNetworkInterfaceIps(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerNetworkInterfaceIpOptions getBareMetalServerNetworkInterfaceIpOptions = new GetBareMetalServerNetworkInterfaceIpOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .networkInterfaceId(bareMetalServerNetworkInterfaceId)\n  .build();\nResponse<ReservedIPCollectionNetworkInterfaceContext> response = vpcService.getBareMetalServerNetworkInterfaceIp(getBareMetalServerNetworkInterfaceIpOptions).execute();\nReservedIPCollectionNetworkInterfaceContext reservedIPs = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  networkInterfaceId: networkInterfaceId,\n};\nconst response =\n  await vpcService.listBareMetalServerNetworkInterfaceFloatingIps(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "reserved_ips =\n  service.list_bare_metal_server_network_interface_ips(\n    bare_metal_server_id=bare_metal_server_id,\n    network_interface_id=network_interface_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerNetworkInterfaceId"
        }
      ]
    },
    "/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/ips/{id}": {
      "get": {
        "deprecated": true,
        "description": "This request retrieves the primary reserved IP for a bare metal server network interface.",
        "operationId": "get_bare_metal_server_network_interface_ip",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "192.168.3.4",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "lifecycle_state": "deleting",
                  "name": "my-reserved-ip",
                  "owner": "provider",
                  "resource_type": "subnet_reserved_ip",
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservedIP"
                }
              }
            },
            "description": "The bound 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 the primary reserved IP",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.subnet.reserved-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            },
            {
              "description": "Required for the subnet attached to the bare metal server network interface",
              "name": "is.subnet.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/network_interfaces/$network_interface_id/ips/$reserved_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerNetworkInterfaceIPOptions{\n  BareMetalServerID:  &bareMetalServerId,\n  NetworkInterfaceID: &bareMetalServerNetworkInterfaceId\n  ID: &reservedIpId,\n}\nreservedIP, response, err :=\n  vpcService.GetBareMetalServerNetworkInterfaceIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerNetworkInterfaceIpOptions getBareMetalServerNetworkInterfaceIpOptions = new GetBareMetalServerNetworkInterfaceIpOptions.Builder()\n  .bareMetalServerId(bareMetalServerId)\n  .networkInterfaceId(bareMetalServerNetworkInterfaceId)\n  .id(reservedIPId)\n  .build();\nResponse<ReservedIP> response = vpcService.getBareMetalServerNetworkInterfaceIp(getBareMetalServerNetworkInterfaceIpOptions).execute();\nReservedIP reservedIP = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  bareMetalServerId: bareMetalServerId,\n  networkInterfaceId: networkInterfaceId,\n  id: reservedIpId,\n};\nconst response =\n  await vpcService.getBareMetalServerNetworkInterfaceIP(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "reserved_ip =\n  service.get_bare_metal_server_network_interface_ip(\n    bare_metal_server_id=bare_metal_server_id,\n    network_interface_id=network_interface_id\n    id=reserved_ip_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerId"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerNetworkInterfaceId"
        },
        {
          "$ref": "#/components/parameters/reservedIPIdUnqualified"
        }
      ]
    },
    "/bare_metal_servers/{id}": {
      "delete": {
        "description": "This request deletes a bare metal server. This operation cannot be reversed. Any floating IPs\nassociated with the bare metal server network interfaces are implicitly disassociated.",
        "operationId": "delete_bare_metal_server",
        "responses": {
          "202": {
            "description": "The bare metal server deletion request was accepted."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          }
        },
        "summary": "Delete a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server.delete"
            },
            {
              "description": "Generated for each network interface on the bare metal server",
              "name": "is.bare-metal-server.network-interface.delete"
            },
            {
              "description": "Generated for each network interface on the bare metal server",
              "name": "is.bare-metal-server.network-interface.detach"
            },
            {
              "description": "Generated for each network attachment on the bare metal server",
              "name": "is.bare-metal-server.network-attachment.delete"
            },
            {
              "description": "Generated for each network attachment on the bare metal server",
              "name": "is.bare-metal-server.network-attachment.detach"
            },
            {
              "description": "Generated for:\n- each attached virtual network interface\n- each virtual network interface that had `auto_delete` set to `true`, for each\n  attached reserved IP",
              "name": "is.virtual-network-interface.virtual-network-interface.detach"
            },
            {
              "description": "Generated for each virtual network interface that had `auto_delete` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.delete"
            },
            {
              "description": "Generated for each floating IP that was attached to:\n- a network interface on the bare metal server, or\n- an virtual network interface that had `auto_delete` set to `true`",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated for each security group that was attached to:\n- a network interface on the bare metal server, or\n- an virtual network interface that had `auto_delete` set to `true`",
              "name": "is.security-group.security-group.detach"
            },
            {
              "description": "Generated for each reserved IP that was attached to:\n- a network interface on the bare metal server, or\n- an virtual network interface that 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`",
              "name": "is.subnet.reserved-ip.delete"
            },
            {
              "description": "Generated for each reserved IP that had `auto_delete` set to `true`",
              "name": "is.subnet.subnet.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteBareMetalServerOptions{\n  ID: &bareMetalServerId,\n}\nresponse, err := vpcService.DeleteBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteBareMetalServerOptions deleteBareMetalServerOptions = new DeleteBareMetalServerOptions.Builder()\n  .id(bareMetalServerId)\n  .build();\nResponse<Void> response = vpcService.deleteBareMetalServer(deleteBareMetalServerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n};\nconst response = await vpcService.deleteBareMetalServer(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_bare_metal_server(id=bare_metal_server_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single bare metal server specified by the identifier in the URL.",
        "operationId": "get_bare_metal_server",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "bandwidth": 20000,
                  "boot_target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": 80,
                    "socket_count": 4,
                    "threads_per_core": 2
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "fcp",
                      "name": "my-bare-metal-server-disk",
                      "resource_type": "bare_metal_server_disk",
                      "size": 100
                    }
                  ],
                  "enable_secure_boot": true,
                  "firmware": {
                    "update": "none"
                  },
                  "health_reasons": [
                    {
                      "code": "reservation_capacity_unavailable",
                      "message": "The reservation cannot be used because it has expired.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 1536,
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http"
                  },
                  "name": "my-bare-metal-server",
                  "network_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "primary_network_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-bare-metal-server-network-interface",
                    "primary_ip": {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "bare_metal_server",
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_reinitialize",
                      "message": "The bare metal server cannot start as there is no more capacity in this\nzone for a bare metal server with the requested profile.",
                      "more_info": "https://console.bluemix.net/docs/iaas/bare_metal_server.html"
                    }
                  ],
                  "trusted_platform_module": {
                    "enabled": true,
                    "mode": "disabled",
                    "supported_modes": [
                      "disabled"
                    ]
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/BareMetalServer"
                }
              }
            },
            "description": "The bare metal server was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerOptions{\n  ID: &bareMetalServerId,\n}\nbareMetalServer, response, err := vpcService.GetBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerOptions getBareMetalServerOptions = new GetBareMetalServerOptions.Builder()\n  .id(bareMetalServerId)\n  .build();\nResponse<BareMetalServer> response = vpcService.getBareMetalServer(getBareMetalServerOptions).execute();\nBareMetalServer bareMetalServer = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n};\nconst response = await vpcService.getBareMetalServer(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server = service.get_bare_metal_server(\n    id=bare_metal_server_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a bare metal server with the information in a provided patch.\nThe bare metal server patch object is structured in the same way as a retrieved bare metal\nserver and contains only the information to be updated.\n\nFor this request to succeed, the properties in the request must adhere to the `allowed_use`\nproperty of the disk referenced in the server's `boot_target`.",
        "operationId": "update_bare_metal_server",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "bandwidth": 20000,
                "enable_secure_boot": true,
                "metadata_service": {
                  "enabled": true,
                  "protocol": "http"
                },
                "name": "my-bare-metal-server",
                "reservation_affinity": {
                  "policy": "automatic",
                  "pool": [
                    {
                      "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                    }
                  ]
                },
                "trusted_platform_module": {
                  "mode": "disabled"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerPatch"
              }
            }
          },
          "description": "The bare metal server patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "bandwidth": 20000,
                  "boot_target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": 80,
                    "socket_count": 4,
                    "threads_per_core": 2
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "fcp",
                      "name": "my-bare-metal-server-disk",
                      "resource_type": "bare_metal_server_disk",
                      "size": 100
                    }
                  ],
                  "enable_secure_boot": true,
                  "firmware": {
                    "update": "none"
                  },
                  "health_reasons": [
                    {
                      "code": "reservation_capacity_unavailable",
                      "message": "The reservation cannot be used because it has expired.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 1536,
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http"
                  },
                  "name": "my-bare-metal-server",
                  "network_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "primary_network_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-bare-metal-server-network-interface",
                    "primary_ip": {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "bare_metal_server",
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_reinitialize",
                      "message": "The bare metal server cannot start as there is no more capacity in this\nzone for a bare metal server with the requested profile.",
                      "more_info": "https://console.bluemix.net/docs/iaas/bare_metal_server.html"
                    }
                  ],
                  "trusted_platform_module": {
                    "enabled": true,
                    "mode": "disabled",
                    "supported_modes": [
                      "disabled"
                    ]
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/BareMetalServer"
                }
              }
            },
            "description": "The bare metal server was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid bare metal server patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server patch conflicts with another bare metal server in the region,\nor the provided bare metal server patch object specified one or more of:\n\n- A property that can only be changed while the bare metal server `status`\n  is `stopped`\n- A bare metal server profile that does not support the bare metal server\n  configuration"
          }
        },
        "summary": "Update a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            },
            {
              "description": "Generated for each server being removed from `reservation_affinity.pool`.",
              "name": "is.bare-metal-server.bare-metal-server.detach"
            },
            {
              "description": "Generated for each reservation being removed from `reservation_affinity.pool`.",
              "name": "is.reservation.reservation.detach"
            },
            {
              "description": "Generated for each server being added to `reservation_affinity.pool`.",
              "name": "is.bare-metal-server.bare-metal-server.attach"
            },
            {
              "description": "Generated for each reservation being added to `reservation_affinity.pool`.",
              "name": "is.reservation.reservation.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            },
            {
              "description": "Required when `reservation_affinity.pools` is specified.",
              "name": "is.reservation.reservation.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"name\": \"my-bare-metal-server-updated\"\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "bareMetalServerPatchModel := &vpcv1.BareMetalServerPatch{\n  Name: core.StringPtr(\"my-bare-metal-server-update\"),\n}\nbareMetalServerPatchModelAsPatch, asPatchErr := bareMetalServerPatchModel.AsPatch()\noptions := &vpcv1.UpdateBareMetalServerOptions{\n  ID:                   &bareMetalServerId,\n  BareMetalServerPatch: bareMetalServerPatchModelAsPatch,\n}\nbareMetalServer, response, err := vpcService.UpdateBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "BareMetalServerPatch bareMetalServerPatchModel = new BareMetalServerPatch.Builder()\n  .name(\"my-bare-metal-server-updated\")\n  .build();\nMap<String, Object> bareMetalServerPatchModelAsPatch = bareMetalServerPatchModel.asPatch();\nUpdateBareMetalServerOptions updateBareMetalServerOptions = new UpdateBareMetalServerOptions.Builder()\n  .id(bareMetalServerId)\n  .bareMetalServerPatch(bareMetalServerPatchModelAsPatch)\n  .build();\nResponse<BareMetalServer> response = vpcService.updateBareMetalServer(updateBareMetalServerOptions).execute();\nBareMetalServer bareMetalServer = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n  enableSecureBoot: false,\n  name: 'my-bare-metal-server-updated',\n};\nconst response = await vpcService.updateBareMetalServer(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_patch_model = {\n    'name': 'my-bare-metal-server-updated'\n}\nbare_metal_server = service.update_bare_metal_server(\n    id=bare_metal_server_id,\n    bare_metal_server_patch=bare_metal_server_patch_model\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{id}/firmware/update": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerIdUnqualified"
        }
      ],
      "post": {
        "description": "This request updates a bare metal server to the latest available firmware.\nThe server must be stopped.",
        "operationId": "update_firmware_for_bare_metal_server",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "auto_start": true
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerFirmwareUpdateOptions"
              }
            }
          },
          "description": "Parameters to control firmware update",
          "required": false
        },
        "responses": {
          "204": {
            "description": "The firmware update action will run immediately."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server must be stopped to issue a firmware update."
          }
        },
        "summary": "Update firmware for a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server-firmware.update"
            },
            {
              "description": "Generated when `auto_start` is `true` and the bare metal server is started\nafter the firmware update has successfully completed.",
              "name": "is.bare-metal-server.bare-metal-server.start"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server-firmware.update"
            },
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            },
            {
              "description": "Required when `auto_start` is `true`."
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/firmware/update?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"auto_start\": false\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.NewUpdateFirmwareForBareMetalServerOptions{\n  ID: &bareMetalServerId,\n  AutoStart: &[]boolean{false}[0],\n}\nresponse, err := vpcService.UpdateFirmwareForBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateFirmwareForBareMetalServerOptions updateFirmwareForBareMetalServerOptions = new UpdateFirmwareForBareMetalServerOptions.Builder()\n  .id(bareMetalServerId)\n  .autoStart(false)\n  .build();\n\nResponse<Void> response = service.updateFirmwareForBareMetalServer(updateFirmwareForBareMetalServerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n  autoStart: false,\n};\nconst response = await vpcService.updateFirmwareForBareMetalServer(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_firmware_for_bare_metal_server(\n    id=bare_metal_server_id, auto_start=false).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{id}/initialization": {
      "get": {
        "description": "This request retrieves configuration used to initialize the bare metal server, such as the\nimage used, SSH keys, and any configured usernames and passwords. These can subsequently\nbe changed on the server and therefore may not be current.",
        "operationId": "get_bare_metal_server_initialization",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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"
                    }
                  },
                  "image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "keys": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                        "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": "Administrator"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerInitialization"
                }
              }
            },
            "description": "The initialization configuration was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve initialization configuration for a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.initialization.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/initialization?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetBareMetalServerInitializationOptions{\n  ID: &bareMetalServerId,\n}\nbareMetalServerInitialization, response, err := vpcService.GetBareMetalServerInitialization(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetBareMetalServerInitializationOptions getBareMetalServerInitializationOptions = new GetBareMetalServerInitializationOptions.Builder()\n  .id(bareMetalServerId)\n  .build();\nResponse<BareMetalServerInitialization> response = vpcService.getBareMetalServerInitialization(getBareMetalServerInitializationOptions).execute();\nBareMetalServerInitialization bareMetalServerInitialization = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n};\nconst response = await vpcService.getBareMetalServerInitialization(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "bare_metal_server_initialization = service.get_bare_metal_server_initialization(\n    id=bare_metal_server_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerIdUnqualified"
        }
      ],
      "put": {
        "description": "This request reinitializes a bare metal server with the specified image and SSH keys.\nThe server must be stopped.\nUpon successful reinitiatilization, the bare metal server will be started automatically.\n\nFor this request to succeed, the properties of the server which would result from the\nreinitialization must adhere to the specified image's `allowed_use` property.",
        "operationId": "replace_bare_metal_server_initialization",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "default_trusted_profile": {
                  "auto_link": true,
                  "target": {
                    "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                  }
                },
                "image": {
                  "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8"
                },
                "keys": [
                  {
                    "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45"
                  }
                ],
                "user_data": "[...]"
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerInitializationPrototype"
              }
            }
          },
          "description": "The image and keys with which to reinitialize the bare metal server",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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"
                    }
                  },
                  "image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "keys": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                        "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": "Administrator"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/BareMetalServerInitialization"
                }
              }
            },
            "description": "The bare metal server was reinitialized."
          },
          "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 bare metal server with the specified identifier could not be found."
          }
        },
        "summary": "Reinitialize a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.initialization.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required when `default_trusted_profile.target` specifies a trusted profile",
              "name": "iam-identity.profile.get"
            },
            {
              "description": "Required when `default_trusted_profile.auto_link` is `true`",
              "name": "iam-identity.profile.update"
            },
            {
              "description": "Required when `defaults_trusted_profile.auto_link` is `true`",
              "name": "iam-identity.profile.linkToResource"
            },
            {
              "name": "is.bare-metal-server.bare-metal-server.update"
            },
            {
              "name": "is.key.key.operate"
            },
            {
              "name": "is.image.image.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PUT \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/initialization?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"image\": {\n    \"id\": \"r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8\"\n  },\n  \"keys\": [\n    {\n      \"id\": \"r006-82679077-ac3b-4c10-be16-63e9c21f0f45\"\n    }\n  ]\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "imageIdentityModel := &vpcv1.ImageIdentityByID{\n  ID: &imageID,\n}\nkeyIdentityModel := &vpcv1.KeyIdentityByID{\n  ID: &keyID,\n}\noptions := &vpcv1.PutBareMetalServerInitializationOptions{\n  ID: &bareMetalServerId,\n  Image: imageIdentityModel,\n  Keys:  []vpcv1.KeyIdentityIntf{keyIdentityModel},\n}\nbareMetalServerInitialization, response, err := vpcService.PutBareMetalServerInitialization(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ImageIdentityById imageIdentityModel = new ImageIdentityById.Builder()\n  .id(imageId)\n  .build();\nKeyIdentityById keyIdentityModel = new KeyIdentityById.Builder()\n  .id(keyId)\n  .build();\nPutBareMetalServerInitializationOptions putBareMetalServerInitializationOptions = new PutBareMetalServerInitializationOptions.Builder()\n  .image(imageIdentityModel)\n  .keys(new java.util.ArrayList<KeyIdentity>(java.util.Arrays.asList(keyIdentityModel)))\n  .id(bareMetalServerId)\n  .build();\nResponse<BareMetalServerInitialization> response = vpcService.putBareMetalServerInitialization(putBareMetalServerInitializationOptions).execute();\nBareMetalServerInitialization bareMetalServerInitialization = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const imageIdentityModel = {\n  id: imageId,\n};\nconst keyIdentityModel = {\n  id: keyId,\n};\nconst params = {\n  image: imageIdentityModel,\n  keys: [keyIdentityModel],\n  id: bareMetalServerId,\n};\nconst response = await vpcService.putBareMetalServerInitialization(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "image_identity_model = {\n    'id': imageId,\n}\nkey_identity_model = {\n    'id': keyId,\n}\nbare_metal_server_initialization = service.put_bare_metal_server_initialization(\n    id=bare_metal_server_id,\n    image=image_identity_model,\n    keys=[key_identity_model]\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{id}/restart": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerIdUnqualified"
        }
      ],
      "post": {
        "description": "This request immediately restarts a bare metal server.  For this request to succeed,\nthe server must have a `status` of `running`.",
        "operationId": "restart_bare_metal_server",
        "responses": {
          "204": {
            "description": "The restart action will run immediately."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The restart action could not be run."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The action is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server cannot be restarted in its current state."
          }
        },
        "summary": "Restart a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server.restart"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/restart?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.NewRestartBareMetalServerOptions{\n  ID: &bareMetalServerId,\n}\nresponse, err := vpcService.RestartBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "RestartBareMetalServerOptions restartBareMetalServerOptions = new RestartBareMetalServerOptions.Builder()\n  .id(bareMetalServerId)\n  .build();\n\nResponse<Void> response = service.restartBareMetalServer(restartBareMetalServerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n};\nconst response = await vpcService.restartBareMetalServer(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.restart_bare_metal_server(\n    id=bare_metal_server_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{id}/start": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerIdUnqualified"
        }
      ],
      "post": {
        "description": "This request starts a bare metal server.  It will run immediately provided\nthe server is stopped.",
        "operationId": "start_bare_metal_server",
        "responses": {
          "204": {
            "description": "The start action will run immediately."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The start action could not be run."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The action is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server must be stopped to issue a start action."
          }
        },
        "summary": "Start a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server.start"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/start?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.NewStartBareMetalServerOptions{\n  ID: &bareMetalServerId,\n}\nresponse, err := vpcService.StartBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "StartBareMetalServerOptions startBareMetalServerOptions = new StartBareMetalServerOptions.Builder()\n  .id(bareMetalServerId)\n  .build();\n\nResponse<Void> response = service.startBareMetalServer(startBareMetalServerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n};\nconst response = await vpcService.startBareMetalServer(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.start_bare_metal_server(\n    id=bare_metal_server_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/bare_metal_servers/{id}/stop": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/bareMetalServerIdUnqualified"
        }
      ],
      "post": {
        "description": "This request stops a bare metal server. It will run immediately provided the server is\nrunning. Note: A soft stop may not complete as it relies on the operating system to\nperform the operation.",
        "operationId": "stop_bare_metal_server",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "type": "hard"
              },
              "schema": {
                "$ref": "#/components/schemas/BareMetalServerStopOptions"
              }
            }
          },
          "description": "Parameters to control the type of stop operation",
          "required": true
        },
        "responses": {
          "204": {
            "description": "The stop action will be run immediately."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The stop action could not be run."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The action is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A bare metal server with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bare metal server must not be stopped to issue a stop action."
          }
        },
        "summary": "Stop a bare metal server",
        "tags": [
          "Bare metal servers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.bare-metal-server.bare-metal-server.stop"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.bare-metal-server.bare-metal-server.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/bare_metal_servers/$bare_metal_server_id/stop?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"type\": \"hard\"\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.NewStopBareMetalServerOptions{\n  ID:   &bareMetalServerId,\n  Type: &[]string{\"hard\"}[0],\n}\nresponse, err := vpcService.StopBareMetalServer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "StopBareMetalServerOptions stopBareMetalServerOptions = new StopBareMetalServerOptions.Builder()\n  .id(bareMetalServerId)\n  .type(\"hard\")\n  .build();\n\nResponse<Void> response = service.stopBareMetalServer(stopBareMetalServerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: bareMetalServerId,\n  type: 'hard',\n};\nconst response = await vpcService.stopBareMetalServer(params)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.stop_bare_metal_server(\n    id=bare_metal_server_id, type='hard').get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_network/profiles": {
      "get": {
        "description": "This request lists cluster network profiles available in the region. A cluster network\nprofile specifies the performance characteristics and capabilities for a cluster network.",
        "operationId": "list_cluster_network_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/cluster_network/profiles?limit=50"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles?start=h100&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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkProfileCollection"
                }
              }
            },
            "description": "The cluster network profiles were retrieved successfully"
          }
        },
        "summary": "List cluster network profiles",
        "tags": [
          "Cluster networks"
        ],
        "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/cluster_network/profiles?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListClusterNetworkProfilesOptions{}\nclusterNetworkProfilesCollection, response, err :=\n  vpcService.ListClusterNetworkProfiles(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListClusterNetworkProfilesOptions listClusterNetworkProfilesOptions = new\nListClusterNetworkProfilesOptions.Builder()\n  .build();\nResponse<ClusterNetworkProfileCollection> response = vpcService\n  .listClusterNetworkProfiles(listClusterNetworkProfilesOptions)\n  .execute();\nClusterNetworkProfileCollection clusterNetworkProfileCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listClusterNetworkProfiles();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_interfaces =\n  service.list_cluster_network_profiles().get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/cluster_network/profiles/{name}": {
      "get": {
        "description": "This request retrieves a single cluster network profile specified by the name in the URL.",
        "operationId": "get_cluster_network_profile",
        "parameters": [
          {
            "$ref": "#/components/parameters/clusterNetworkProfileName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkProfile"
                }
              }
            },
            "description": "The cluster network profile was retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network profile with the specified name could not be found."
          }
        },
        "summary": "Retrieve a cluster network profile",
        "tags": [
          "Cluster networks"
        ],
        "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/cluster_network/profiles/$profile-name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetClusterNetworkProfileOptions{}\noptions.SetName(&clusterNetworkProfileName)\nclusterNetworkProfile, response, err :=\n  vpcService.GetClusterNetworkProfile(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetClusterNetworkProfileOptions getClusterNetworkProfileOptions = new\nGetClusterNetworkProfileOptions.Builder()\n  .id(clusterNetworkProfileId)\n  .build();\n\nResponse<ClusterNetworkProfile> response = vpcService\n  .getClusterNetworkProfile(geClusterNetworkProfileOptions)\n  .execute();\nClusterNetworkProfile clusterNetworkProfile = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getClusterNetworkProfile({ clusterNetworkProfileName });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_profile =\n  service.get_cluster_network_profile(\n    name=cluster_network_profile_name\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/cluster_networks": {
      "get": {
        "description": "This request lists [cluster\nnetworks](https://cloud.ibm.com/docs/vpc?topic=vpc-about-cluster-network)\nin the region. A cluster network is a grouping of resources in a separate networking space\nfor high performance computing and networking.",
        "operationId": "list_cluster_networks",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/sort"
          },
          {
            "$ref": "#/components/parameters/clusterNetworkVPC"
          },
          {
            "$ref": "#/components/parameters/clusterNetworkVPCByCRN"
          },
          {
            "$ref": "#/components/parameters/clusterNetworkVPCByName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "cluster_networks": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south-1: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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "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": "my-resource-group"
                      },
                      "resource_type": "cluster_network",
                      "subnet_prefixes": [
                        {
                          "allocation_policy": "auto",
                          "cidr": "10.0.0.0/24"
                        }
                      ],
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkCollection"
                }
              }
            },
            "description": "The clusters were retrieved successfully."
          }
        },
        "summary": "List cluster networks",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.cluster-network.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.cluster-network.list"
            },
            {
              "name": "is.cluster-network.cluster-network.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListClusterNetworksOptions{}\nclusterNetworksCollection, response, err :=\n  vpcService.ListClusterNetworks(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListClusterNetworksOptions listClusterNetworksOptions = new\nListClusterNetworksOptions.Builder()\n  .build();\nResponse<ClusterNetworkCollection> response = vpcService\n  .listClusterNetworks(listClusterNetworksOptions)\n  .execute();\nClusterNetworkCollection clusterNetworkCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listClusterNetworks();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_networks =\n  service.list_cluster_networks().get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new cluster network from a cluster network prototype object. The\nprototype object is structured in the same way as a retrieved cluster network, and contains\nthe information necessary to create the new cluster network.",
        "operationId": "create_cluster_network",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-cluster-network",
                "profile": {
                  "name": "h100"
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "subnet_prefixes": [
                  {
                    "cidr": "10.0.0.0/24"
                  }
                ],
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkPrototype"
              }
            }
          },
          "description": "The cluster network prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1: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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "cluster_network",
                  "subnet_prefixes": [
                    {
                      "allocation_policy": "auto",
                      "cidr": "10.0.0.0/24"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetwork"
                }
              }
            },
            "description": "The cluster network was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network prototype object conflicts with another cluster network\nin the region."
          }
        },
        "summary": "Create a cluster network",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.cluster-network.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.cluster-network.create"
            },
            {
              "name": "is.vpc.vpc.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/cluster_networks?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network\",\n      \"profile\": {\n          \"name\": \"h100\"\n      },\n      \"vpc\": {\n          \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\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}\nvpcIdentityModel := &vpcv1.VPCIdentity{\n    ID: &vpcID,\n  }\noptions := &vpcv1.CreateBareMetalServerOptions{\n  Vpc:                     vpcIdentityModel,\n  Profile:                  &clusterNetworkProfileName,\n  Zone:                    zoneIdentityModel,\n  Name:                    &[]string{\"my-cluster-network\"}[0]\n}\nclusterNetwork, response, err := vpcService.CreateClusterNetwork(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ClusterNetworkProfileIdentityByName clusterNetworkProfileIdentityModel = new\nClusterNetworkProfileIdentityByName.Builder()\n  .name(clusterNetworkProfileName)\n  .build();\nVPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n  .name(zoneName)\n  .build();\nCreateClusterNetworkOptions createClusterNetworkOptions = new\nCreateClusterNetworkOptions.Builder()\n  .profile(clusterNetworkProfileIdentityModel)\n  .name(\"my-cluster-network\")\n  .vpc(vpcIdentityModel)\n  .zone(zoneIdentityModel)\n  .build();\nResponse<ClusterNetwork> response = vpcService\n  .createClusterNetwork(createClusterNetworkOptions)\n  .execute();\nClusterNetwork clusterNetwork = 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 response = await vpcService.createClusterNetwork({\n  name: \"my-cluster-network\",\n  profile: clusterNetworkProfileName,\n  vpc: vpcIdentityModel,\n  zone: zoneIdentityModel\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "vpc_identity_model = {\n  'id': vpc_id\n}\n\nzone_identity_model = {\n  'name': zone_name\n}\n\ncluster_network_prototype_model = {\n  'name': 'my-cluster-network',\n  'profile': cluster_network_profile_name,\n  'vpc': vpc_identity_model,\n  'zone': zone_identity_model\n}\n\ncluster_network = service.create_cluster_network(\n  cluster_network_prototype=cluster_network_prototype_model\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_networks/{cluster_network_id}/interfaces": {
      "get": {
        "description": "This request lists cluster network interfaces in the region. A cluster network\ninterface is a logical abstraction of a cluster network interface in a subnet, and may be\nattached to a target resource.\n\nThe cluster network interfaces will be sorted by their `created_at` property values, with\nnewest cluster network interfaces first. Cluster network interfaces with identical\n`created_at` property values will in turn be sorted by ascending `name` property values.",
        "operationId": "list_cluster_network_interfaces",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/sort"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/interfaces?limit=50"
                  },
                  "interfaces": [
                    {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "enable_infrastructure_nat": true,
                      "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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "mac_address": "02:00:4D:45:45:4D",
                      "name": "my-cluster-network-interface",
                      "primary_ip": {
                        "address": "10.1.0.6",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "target": {
                        "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-network-attachment",
                        "resource_type": "instance_cluster_network_attachment"
                      },
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkInterfaceCollection"
                }
              }
            },
            "description": "The cluster network interfaces were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network with the specified identifier could not be found."
          }
        },
        "summary": "List cluster network interfaces",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.interface.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.interface.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/interfaces?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListClusterNetworkInterfacesOptions{}\nclusterNetworkInterfacesCollection, response, err :=\n  vpcService.ListClusterNetworkInterfaces(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListClusterNetworkInterfacesOptions listClusterNetworkInterfacesOptions = new\nListClusterNetworkInterfacesOptions.Builder()\n  .build();\nResponse<ClusterNetworkInterfaceCollection> response = vpcService.listClusterNetworkInterfaces(listClusterNetworkInterfacesOptions)\n  .execute();\nClusterNetworkInterfaceCollection clusterNetworkInterfaceCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listClusterNetworkInterfaces({ clusterNetworkId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_interfaces =\n  service.list_cluster_network_interfaces(\n    cluster_network_id=cluster_network_id,\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/clusterNetworkId"
        },
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new cluster network interface from a cluster network\ninterface prototype object. The prototype object is structured in the same way as\na retrieved cluster network interface, and contains the information necessary to\ncreate the new cluster network interface.",
        "operationId": "create_cluster_network_interface",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-cluster-network-interface",
                "primary_ip": {
                  "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                },
                "subnet": {
                  "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkInterfacePrototype"
              }
            }
          },
          "description": "The cluster network interface prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "enable_infrastructure_nat": true,
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-cluster-network-interface",
                  "primary_ip": {
                    "address": "10.1.0.6",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetworkInterface"
                }
              }
            },
            "description": "The cluster network interface was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network interface prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network interface prototype object conflicts with another interface\nin the cluster network or the specified cluster network subnet does not have\nany free addresses."
          }
        },
        "summary": "Create a cluster network interface",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.interface.attach"
            },
            {
              "name": "is.cluster-network.interface.create"
            },
            {
              "name": "is.cluster-network.subnet-reserved-ip.attach"
            },
            {
              "description": "Generated if a cluster subnet reserved IP is created",
              "name": "is.cluster-network.subnet-reserved-ip.create"
            },
            {
              "description": "Generated if a cluster subnet reserved IP is created",
              "name": "is.cluster-network.subnet.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.interface.create"
            },
            {
              "description": "Required for cluster network interfaces that specify an existing cluster network\nreserved IP on a subnet",
              "name": "is.cluster-network.subnet.operate"
            },
            {
              "description": "Required for cluster network interfaces that specify a new cluster network reserved\nIP on a cluster network subnet",
              "name": "is.cluster-network.subnet.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/interfaces?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network-interface\",\n      \"subnet\": {\n          \"id\": \"0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateClusterNetworkInterfaceOptions{}\noptions.SetClusterNetworkInterfacePrototype(&vpcv1.ClusterNetworkInterfacePrototype{\n  Name:                 &name,\n  ClusterNetwork:       &vpcv1.ClusterNetworkIdentity{\n    ID: &clusterNetworkId,\n  },\n  ClusterNetworkSubnet: &vpcv1.ClusterNetworkSubnetIdentity{\n    ID: &clusterNetworkSubnetId,\n  }\n})\nclusterNetworkInterface, response, err := vpcService.CreateClusterNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateClusterNetworkInterfaceOptions createClusterNetworkInterfaceOptions = new\nCreateClusterNetworkInterfaceOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .clusterNetworkSubnetId(clusterNetworkSubnetId)\n  .build();\nResponse<ClusterNetworkInterface> response = vpcService.createClusterNetworkInterface(createClusterNetworkInterfaceOptions)\n  .execute();\nClusterNetworkInterface clusterNetworkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const clusterNetworkIdentityModel = {\n  id: clusterNetworkId\n};\n\nconst clusterNetworkSubnetIdentityModel = {\n  id: clusterNetworkSubnetId\n};\n\nconst response = await vpcService.createClusterNetworkInterface({\n  name: \"my-cluster-network\",\n  clusterNetworkSubnet: clusterNetworkSubnetIdentityModel,\n  clusterNetwork: clusterNetworkIdentityModel,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_subnet_identity_model = {\n  'id': cluster_network_subnet_id\n}\n\ncluster_network_interface_prototype_model = {\n  'name': 'my-cluster-network-interface',\n  'cluster_network_subnet': cluster_network_subnet_identity_model\n}\n\ncluster_network_interface = service.create_cluster_network_interface(\n  cluster_network_interface_prototype=cluster_network_interface_prototype_model,\n  cluster_network_id=cluster_network_id\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_networks/{cluster_network_id}/interfaces/{id}": {
      "delete": {
        "description": "This request deletes a cluster network interface. This operation cannot be reversed.\nFor this request to succeed,  the cluster network interface must not be required by\nanother resource, such as a cluster network attachment for a virtual server instance.",
        "operationId": "delete_cluster_network_interface",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "enable_infrastructure_nat": true,
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-cluster-network-interface",
                  "primary_ip": {
                    "address": "10.1.0.6",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetworkInterface"
                }
              }
            },
            "description": "The cluster network interface deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network interface with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network interface 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 cluster\nnetwork interface."
          }
        },
        "summary": "Delete a cluster network interface",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.interface.delete"
            },
            {
              "name": "is.cluster-network.interface.detach"
            },
            {
              "description": "Generated if the cluster subnet reserved IP that had `auto_delete` set to `true`",
              "name": "is.cluster-network.subnet.update"
            },
            {
              "description": "Generated if the cluster subnet reserved IP that had `auto_delete` set to `true`",
              "name": "is.cluster-network.subnet-reserved-ip.delete"
            },
            {
              "name": "is.cluster-network.subnet-reserved-ip.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.interface.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/interfaces/$cluster_network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteClusterNetworkInterfaceOptions{}\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetID(&clusterNetworkInterfaceId)\nresponse, err := vpcService.DeleteClusterNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteClusterNetworkInterfaceOptions deleteClusterNetworkInterfaceOptions = new\nDeleteClusterNetworkInterfaceOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .id(clusterNetworkInterfaceId)\n  .build();\n\nResponse<void> response = vpcService.DeleteClusterNetworkInterface(deleteClusterNetworkInterfaceOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteClusterNetworkInterface({\n  clusterNetworkId,\n  clusterNetworkInterfaceId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_cluster_network_interface(\n  cluster_network_id=cluster_network_id,\n  id=cluster_network_interface_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single cluster network interface specified by the\nidentifier in the URL.",
        "operationId": "get_cluster_network_interface",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "enable_infrastructure_nat": true,
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-cluster-network-interface",
                  "primary_ip": {
                    "address": "10.1.0.6",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetworkInterface"
                }
              }
            },
            "description": "The cluster network interface was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network interface with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a cluster network interface",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.interface.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.interface.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/interfaces/$cluster_network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetClusterNetworkInterfaceOptions{}\noptions.SetID(&clusterNetworkInterfaceId)\nclusterNetworkInterface, response, err :=\n  vpcService.GetClusterNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetClusterNetworkInterfaceOptions getClusterNetworkInterfaceOptions = new\nGetClusterNetworkInterfaceOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .id(clusterNetworkInterfaceId)\n  .build();\n\nResponse<ClusterNetworkInterface> response = vpcService\n  .getClusterNetworkInterface(geClusterNetworkInterfaceOptions)\n  .execute();\nClusterNetworkInterface clusterNetworkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getClusterNetworkInterface({\n  clusterNetworkId,\n  clusterNetworkInterfaceId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_interface =\n  service.get_cluster_network_interface(\n    cluster_network_id=cluster_network_id,\n    cluster_network_interface_id=cluster_network_interface_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/clusterNetworkId"
        },
        {
          "$ref": "#/components/parameters/clusterNetworkInterfaceIdUnqualified"
        },
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "patch": {
        "description": "This request updates a cluster network interface with the information provided in\na cluster network interface patch object. The patch object is structured in the\nsame way as a retrieved cluster network interface and needs to contain only the\ninformation to be updated.",
        "operationId": "update_cluster_network_interface",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "auto_delete": true,
                "name": "my-cluster-network-interface"
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkInterfacePatch"
              }
            }
          },
          "description": "The cluster network interface patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "enable_infrastructure_nat": true,
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-cluster-network-interface",
                  "primary_ip": {
                    "address": "10.1.0.6",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetworkInterface"
                }
              }
            },
            "description": "The cluster network interface was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network interface patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network interface with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network interface patch conflicts with another interface in\nthe cluster network."
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value of the cluster\nnetwork interface."
          }
        },
        "summary": "Update a cluster network interface",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.interface.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.interface.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/interfaces/$cluster_network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network-interface-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateClusterNetworkInterfaceOptions{}\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetID(&clusterNetworkInterfaceId)\noptions.SetName(&name)\nclusterNetworkInterface, response, err := vpcService.UpdateClusterNetworkInterface(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ClusterNetworkInterfacePatch clusterNetworkInterfacePatchModel = new\nClusterNetworkInterfacePatch.Builder()\n  .name(\"my-cluster-network-interface-update\")\n  .build();\nMap<String, Object> clusterNetworkInterfacePatchModelAsPatch = clusterNetworkInterfacePatchModel.asPatch();\nUpdateClusterNetworkInterfaceOptions updateClusterNetworkInterfaceOptions = new\nUpdateClusterNetworkInterfaceOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .id(clusterNetworkInterfaceId)\n  .build();\n\nResponse<ClusterNetworkInterface> response = vpcService\n  .updateClusterNetworkInterface(updateClusterNetworkInterfaceOptions)\n  .execute();\nClusterNetworkInterface clusterNetworkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateClusterNetworkInterface({\n  clusterNetworkId: clusterNetworkId,\n  id: clusterNetworkInterfaceId,\n  name: 'my-cluster-network-interface-updated'\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_interface_patch_model = {\n  'name'='my-cluster-network-interface-update'\n}\ncluster_network_interface = service.update_cluster_network_interface(\n    cluster_network_id=cluster_network_id,\n    id=cluster_network_interface_id,\n    cluster_network_interface_patch=cluster_network_interface_patch_model,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_networks/{cluster_network_id}/subnets": {
      "get": {
        "description": "This request lists cluster network subnets in the cluster network. A cluster network\nsubnet provides network routing between other cluster network subnets within a cluster\nnetwork.",
        "operationId": "list_cluster_network_subnets",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/sort"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets?limit=50"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_networks/0717-da0df18c-7598-4633-a648-fdaac28a5573/subnets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=50"
                  },
                  "subnets": [
                    {
                      "available_ipv4_address_count": 15,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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.0.0/24",
                      "lifecycle_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-cluster-network-subnet",
                      "resource_type": "cluster_network_subnet",
                      "total_ipv4_address_count": 256
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnetCollection"
                }
              }
            },
            "description": "The cluster network subnets were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network with the specified identifier could not be found."
          }
        },
        "summary": "List cluster network subnets",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListClusterNetworkSubnetsOptions{}\nclusterNetworkSubnetsCollection, response, err :=\n  vpcService.ListClusterNetworkSubnets(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListClusterNetworkSubnetsOptions listClusterNetworkSubnetsOptions = new\nListClusterNetworkSubnetsOptions.Builder()\n  .build();\nResponse<ClusterNetworkSubnetCollection> response = vpcService\n  .listClusterNetworkSubnets(listClusterNetworkSubnetsOptions)\n  .execute();\nClusterNetworkSubnetCollection clusterNetworkSubnetCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listClusterNetworkSubnets({ clusterNetworkId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_subnets =\n  service.list_cluster_network_subnets(\n    cluster_network_id=cluster_network_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/clusterNetworkId"
        },
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new cluster network subnet from a cluster network subnet prototype\nobject. The prototype object is structured in the same way as a retrieved cluster network\nsubnet, and contains the information necessary to create the new cluster network subnet.",
        "operationId": "create_cluster_network_subnet",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ip_version": "ipv4",
                "name": "my-cluster-network-subnet",
                "total_ipv4_address_count": 256
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkSubnetPrototype"
              }
            }
          },
          "description": "The cluster network subnet prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "available_ipv4_address_count": 15,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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.0.0/24",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet",
                  "resource_type": "cluster_network_subnet",
                  "total_ipv4_address_count": 256
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnet"
                }
              }
            },
            "description": "The cluster network subnet was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network subnet prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network subnet prototype object conflicts with another cluster network\nsubnet in the cluster network."
          }
        },
        "summary": "Create a cluster network subnet",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.cluster-network.update"
            },
            {
              "name": "is.cluster-network.subnet.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network-subnet\",\n      \"total_ipv4_address_count\": 2048\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateClusterNetworkSubnetsOptions{}\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetClusterNetworkSubnetTotalIPv4AddressCount(256)\nclusterNetworkSubnet, response, err :=\n  vpcService.CreateClusterNetworkSubnet(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateClusterNetworkSubnetOptions createClusterNetworkSubnetOptions = new\nCreateClusterNetworkSubnetOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .clusterNetworkSubnetTotalIPv4AddressCount(256)\n  .build();\nResponse<ClusterNetworkSubnet> response = vpcService.createClusterNetworkSubnet(createClusterNetworkSubnetOptions)\n  .execute();\nClusterNetworkSubnet clusterNetworkSubnet = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const clusterNetworkIdentityModel = {\n  id: clusterNetworkId\n};\n\nconst response = await vpcService.createClusterNetworkSubnet({\n  name: \"my-cluster-network-subnet\",\n  clusterNetworkSubnetTotalIPv4AddressCount: 256,\n  clusterNetwork: clusterNetworkIdentityModel,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_subnet_prototype_model = {\n  'name': 'my-cluster-network-subnet',\n  'cluster_network_subnet_total_ipv4_address_count': 256\n}\n\ncluster_network_subnet = service.create_cluster_network_subnet(\n  cluster_network_subnet_prototype=cluster_network_subnet_prototype_model,\n  cluster_network_id=cluster_network_id\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_networks/{cluster_network_id}/subnets/{cluster_network_subnet_id}/reserved_ips": {
      "get": {
        "description": "This request lists cluster network subnet reserved IPs in the cluster network.",
        "operationId": "list_cluster_network_subnet_reserved_ips",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": [
                    {
                      "address": "10.1.0.6",
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-cluster-network-subnet-reserved-ip",
                      "owner": "provider",
                      "resource_type": "cluster_network_subnet_reserved_ip",
                      "target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "resource_type": "cluster_network_interface"
                      }
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPCollection"
                }
              }
            },
            "description": "The cluster network subnet reserved IPs were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network subnet with the specified identifier could not be found."
          }
        },
        "summary": "List cluster network subnet reserved IPs",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet-reserved-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id/reserved_ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListClusterNetworkSubnetReservedIPsOptions{}\nclusterNetworkSubnetReservedIPsCollection, response, err :=\n  vpcService.ListClusterNetworkSubnetReservedIPs(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListClusterNetworkSubnetReservedIPsOptions listClusterNetworkSubnetReservedIPsOptions = new\nListClusterNetworkSubnetReservedIPsOptions.Builder()\n  .build();\nResponse<ClusterNetworkSubnetReservedIPCollection> response = service\n  .listClusterNetworkSubnetReservedIPs(listClusterNetworksOptions)\n  .execute();\nClusterNetworkSubnetReservedIPCollection clusterNetworkSubnetReservedIPCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listClusterNetworkSubnetReservedIPs({\n  clusterNetworkId,\n  clusterNetworkSubnetId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_reserved_ips =\n  service.list_cluster_network_reserved_ips(\n    cluster_network_id=cluster_network_id,\n    cluster_network_subnet_id=cluster_network_subnet_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/clusterNetworkId"
        },
        {
          "$ref": "#/components/parameters/clusterNetworkSubnetId"
        },
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new cluster network subnet reserved IP from a cluster network\nsubnet reserved IP prototype object. The prototype object is structured in the same way\nas a retrieved cluster network subnet reserved IP, and contains the information necessary\nto create the new cluster network subnet reserved IP.",
        "operationId": "create_cluster_network_subnet_reserved_ip",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "address": "192.168.3.4",
                "name": "my-cluster-network-subnet-reserved-ip"
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPPrototype"
              }
            }
          },
          "description": "The cluster network subnet reserved IP prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "address": "10.1.0.6",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet-reserved-ip",
                  "owner": "provider",
                  "resource_type": "cluster_network_subnet_reserved_ip",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "cluster_network_interface"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIP"
                }
              }
            },
            "description": "The cluster network subnet reserved IP was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network subnet reserved IP prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network subnet reserved IP prototype object conflicts with another\nreserved IP in the cluster network subnet, or the cluster network reserved IP\ncannot be created due to one or more of the following conflicts:\n\n- the cluster network subnet has no available IP addresses\n- the cluster network subnet reserved IP prototype object specifies an address that\n  is already in use"
          }
        },
        "summary": "Create a cluster network subnet reserved IP",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet.update"
            },
            {
              "name": "is.cluster-network.subnet-reserved-ip.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id/reserved_ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network-subnet-reserved-ip\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateClusterNetworkSubnetReservedIPOptions{}\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetClusterNetworkSubnetID(&clusterNetworkSubnetId)\nclusterNetworkSubnetReservedIP, response, err :=\n  vpcService.CreateClusterNetworkSubnetReservedIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateClusterNetworkSubnetReservedIPOptions createClusterNetworkSubnetReservedIPOptions = new\nCreateClusterNetworkSubnetReservedIPOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .clusterNetworkSubnetId(clusterNetworkSubnetId)\n  .build();\nResponse<ClusterNetworkSubnetReservedIP> response = vpcService\n  .createClusterNetworkSubnetReservedIP(createClusterNetworkSubnetReservedIPOptions)\n  .execute();\nClusterNetworkSubnetReservedIP clusterNetworkSubnetReservedIP = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const clusterNetworkIdentityModel = {\n  id: clusterNetworkId\n};\n\nconst clusterNetworkSubnetIdentityModel = {\n  id: clusterNetworkSubnetId\n};\n\nconst response = await vpcService.createClusterNetworkSubnetReservedIP({\n  name: \"my-cluster-network-subnet-reserved-ip\",\n  clusterNetworkSubnet: clusterNetworkSubnetIdentityModel,\n  clusterNetwork: clusterNetworkIdentityModel,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_subnet_reserved_ip_prototype_model = {\n  'name': 'my-cluster-network-subnet-reserved-ip'\n}\n\ncluster_network_subnet_reserved_ip = service.create_cluster_network_subnet_reserved_ip(\n  cluster_network_subnet_reserved_ip_prototype=cluster_network_subnet_reserved_ip_prototype_model,\n  cluster_network_id=cluster_network_id,\n  cluster_network_subnet_id=cluster_network_subnet_id\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_networks/{cluster_network_id}/subnets/{cluster_network_subnet_id}/reserved_ips/{id}": {
      "delete": {
        "description": "This request deletes a cluster network subnet reserved IP. This operation cannot be\nreversed.\n\nFor this request to succeed, the reserved IP must be unbound. A provider-owned\nreserved IP is not allowed to be deleted.",
        "operationId": "delete_cluster_network_subnet_reserved_ip",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "address": "10.1.0.6",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet-reserved-ip",
                  "owner": "provider",
                  "resource_type": "cluster_network_subnet_reserved_ip",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "cluster_network_interface"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIP"
                }
              }
            },
            "description": "The cluster network subnet reserved IP deletion request was accepted."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network subnet reserved IP is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network subnet reserved IP with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network subnet reserved IP 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 cluster\nnetwork subnet."
          }
        },
        "summary": "Delete a cluster network subnet reserved IP",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet.update"
            },
            {
              "name": "is.cluster-network.subnet-reserved-ip.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id/reserved_ips/$reserved_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteClusterNetworkSubnetOptions{}\noptions.SetID(&clusterNetworkSubnetReservedIPId)\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetClusterNetworkSubnetID(&clusterNetworkSubnetId)\nresponse, err := vpcService.DeleteClusterNetworkSubnet(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteClusterNetworkSubnetReservedIPOptions deleteClusterNetworkSubnetReservedIPOptions = new\nDeleteClusterNetworkSubnetReservedIPOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .clusterNetworkSubnetId(clusterNetworkSubnetId)\n  .id(clusterNetworkSubnetReservedIPId)\n  .build();\n\nResponse<void> response = vpcService\n  .DeleteClusterNetworkSubnetReservedIP(deleteClusterNetworkSubnetReservedIPOptions)\n  .execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteClusterNetworkSubnetReservedIP({\n  clusterNetworkId,\n  clusterNetworkSubnetId,\n  clusterNetworkSubnetReservedIPId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_cluster_network_subnet_reserved_ip(\n  cluster_network_id=cluster_network_id,\n  cluster_network_subnet_id=cluster_network_subnet_id,\n  id=cluster_network_subnet_reserved_ip_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single cluster network subnet reserved IP specified by the\nidentifier in the URL.",
        "operationId": "get_cluster_network_subnet_reserved_ip",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "10.1.0.6",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet-reserved-ip",
                  "owner": "provider",
                  "resource_type": "cluster_network_subnet_reserved_ip",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "cluster_network_interface"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIP"
                }
              }
            },
            "description": "The cluster network subnet reserved IP was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network subnet reserved IP with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a cluster network subnet reserved IP",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet-reserved-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id/reserved_ips/$reserved_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetClusterNetworkSubnetReservedIPOptions{}\noptions.SetID(&clusterNetworkSubnetReservedIPId)\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetClusterNetworkSubnetID(&clusterNetworkSubnetId)\nclusterNetworkSubnetReservedIP, response, err :=\n  vpcService.GetClusterNetworkSubnetReservedIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetClusterNetworkSubnetReservedIPOptions getClusterNetworkSubnetReservedIPOptions = new\nGetClusterNetworkSubnetReservedIPOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .clusterNetworkSubnetId(clusterNetworkSubnetId)\n  .id(clusterNetworkReservedIPId)\n  .build();\n\nResponse<ClusterNetworkSubnetReservedIP> response = vpcService\n  .getClusterNetworkSubnetReservedIP(geClusterNetworkSubnetReservedIPOptions)\n  .execute();\nClusterNetworkSubnetReservedIP clusterNetworkSubnetReservedIP = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getClusterNetworkSubnetReservedIP({\n  clusterNetworkId,\n  clusterNetworkSubnetId,\n  clusterNetworkSubnetReservedIP\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network =\n  service.get_cluster_network_subnet_reserved_ip(\n    cluster_network_id=cluster_network_id,\n    cluster_network_subnet_id=cluster_network_subnet_id,\n    id=cluster_network_subnet_reserved_ip_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/clusterNetworkId"
        },
        {
          "$ref": "#/components/parameters/clusterNetworkSubnetId"
        },
        {
          "$ref": "#/components/parameters/clusterNetworkSubnetReservedIPIdUnqualified"
        },
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "patch": {
        "description": "This request updates a cluster network subnet reserved IP with the information provided\nin a cluster network subnet reserved IP patch object. The patch object is structured in\nthe same way as a retrieved cluster network subnet reserved IP and needs to contain only\nthe information to be updated.",
        "operationId": "update_cluster_network_subnet_reserved_ip",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "auto_delete": true,
                "name": "my-cluster-network-subnet-reserved-ip"
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIPPatch"
              }
            }
          },
          "description": "The cluster network subnet reserved IP patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "10.1.0.6",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet-reserved-ip",
                  "owner": "provider",
                  "resource_type": "cluster_network_subnet_reserved_ip",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "cluster_network_interface"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnetReservedIP"
                }
              }
            },
            "description": "The cluster network subnet reserved IP was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network subnet reserved IP patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network subnet reserved IP with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network subnet reserved IP patch conflicts with another reserved IP in\nthe cluster network subnet, or the patch specifies an `auto_delete` value that\nconflicts with the current binding state of the reserved IP."
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value of the cluster\nnetwork subnet."
          }
        },
        "summary": "Update a cluster network subnet reserved IP",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet-reserved-ip.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id/reserved_ips/$reserved_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network-subnet-reserved-ip-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateClusterNetworkSubnetReservedIPOptions{}\noptions.SetID(&clusterNetworkSubnetReservedIPId)\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetClusterNetworkSubnetID(&clusterNetworkSubnetId)\noptions.SetName(&name)\nclusterNetworkSubnetReservedIP, response, err :=\n  vpcService.UpdateClusterNetworkSubnetReservedIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ClusterNetworkSubnetReservedIPPatch clusterNetworkSubnetReservedIPPatchModel = new\nClusterNetworkSubnetReservedIPPatch.Builder()\n  .name(\"my-cluster-network-subnet-reserved-ip-update\")\n  .build();\nMap<String, Object> clusterNetworkSubnetReservedIPPatchModelAsPatch = clusterNetworkSubnetReservedIPPatchModel.asPatch();\nUpdateClusterNetworkSubnetReservedIPOptions updateClusterNetworkSubnetReservedIPOptions =\n  new UpdateClusterNetworkSubnetReservedIPOptions.Builder()\n    .clusterNetworkId(clusterNetworkId)\n    .clusterNetworkSubnetId(clusterNetworkSubnetId)\n    .id(clusterNetworkSubnetReservedIPId)\n    .build();\n\nResponse<ClusterNetworkSubnetReservedIP> response = vpcService\n  .updateClusterNetworkSubnetReservedIP(updateClusterNetworkSubnetReservedIPOptions)\n  .execute();\nClusterNetworkSubnetReservedIP clusterNetworkSubnetReservedIP = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateClusterNetworkSubnetReservedIP({\n  clusterNetworkId: clusterNetworkId,\n  clusterNetworkSubnetId: clusterNetworkSubnetId,\n  id: clusterNetworkSubnetReservedIPId,\n  name: 'my-cluster-network-subnet-reserved-ip-updated'\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_subnet_reserved_ip_patch_model = {\n  'name'='my-cluster-network-subnet-reserved-ip-update'\n}\ncluster_network_subnet_reserved_ip = service.update_cluster_network_subnet_reserved_ip(\n    cluster_network_id=cluster_network_id,\n    cluster_network_subnet_id=cluster_network_subnet_id,\n    id=cluster_network_subnet_reserved_ip_id\n    cluster_network_subnet_reserved_ip_patch=cluster_network_subnet_reserved_ip_patch_model,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_networks/{cluster_network_id}/subnets/{id}": {
      "delete": {
        "description": "This request deletes a cluster network subnet. This operation cannot be reversed.\n\nFor this request to succeed, this cluster subnet must not be attached to a cluster\nnetwork interface.",
        "operationId": "delete_cluster_network_subnet",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "available_ipv4_address_count": 15,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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.0.0/24",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet",
                  "resource_type": "cluster_network_subnet",
                  "total_ipv4_address_count": 256
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnet"
                }
              }
            },
            "description": "The cluster network subnet deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network subnet with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network subnet 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 cluster\nnetwork subnet."
          }
        },
        "summary": "Delete a cluster network subnet",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.cluster-network.update"
            },
            {
              "name": "is.cluster-network.subnet.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteClusterNetworkSubnetOptions{}\noptions.SetID(&clusterNetworkSubnetId)\noptions.SetClusterNetworkID(&clusterNetworkId)\nresponse, err := vpcService.DeleteClusterNetworkSubnet(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteClusterNetworkSubnetOptions deleteClusterNetworkSubnetOptions = new\nDeleteClusterNetworkSubnetOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .id(clusterNetworkSubnetId)\n  .build();\n\nResponse<void> response = vpcService.DeleteClusterNetworkSubnet(deleteClusterNetworkSubnetOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteClusterNetworkSubnet({\n  clusterNetworkId,\n  clusterNetworkSubnetId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_cluster_network_subnet(\n  cluster_network_id=cluster_network_id,\n  id=cluster_network_subnet_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single cluster network subnet specified by the identifier in the\nURL.",
        "operationId": "get_cluster_network_subnet",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "available_ipv4_address_count": 15,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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.0.0/24",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet",
                  "resource_type": "cluster_network_subnet",
                  "total_ipv4_address_count": 256
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnet"
                }
              }
            },
            "description": "The cluster network subnet was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network subnet with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a cluster network subnet",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetClusterNetworkSubnetOptions{}\noptions.SetID(&clusterNetworkSubnetId)\noptions.SetClusterNetworkID(&clusterNetworkId)\nclusterNetwork, response, err :=\n  vpcService.GetClusterNetworkSubnet(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetClusterNetworkSubnetOptions getClusterNetworkSubnetOptions = new\nGetClusterNetworkSubnetOptions.Builder()\n  .clusterNetworkId(clusterNetworkId)\n  .id(clusterNetworkSubnetId)\n  .build();\n\nResponse<ClusterNetworkSubnet> response = vpcService\n  .getClusterNetworkSubnet(geClusterNetworkSubnetOptions)\n  .execute();\nClusterNetworkSubnet clusterNetworkSubnet = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getClusterNetworkSubnet({\n  clusterNetworkId,\n  clusterNetworkSubnetId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network =\n  service.get_cluster_network_subnet(\n    cluster_network_id=cluster_network_id,\n    cluster_network_subnet_id=cluster_network_subnet_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/clusterNetworkId"
        },
        {
          "$ref": "#/components/parameters/clusterNetworkSubnetIdUnqualified"
        },
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "patch": {
        "description": "This request updates a cluster network subnet with the information provided in a cluster\nnetwork subnet patch object. The patch object is structured in the same way as a retrieved\ncluster network subnet and needs to contain only the information to be updated.",
        "operationId": "update_cluster_network_subnet",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-cluster-network-subnet"
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkSubnetPatch"
              }
            }
          },
          "description": "The cluster network subnet patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "available_ipv4_address_count": 15,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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.0.0/24",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-cluster-network-subnet",
                  "resource_type": "cluster_network_subnet",
                  "total_ipv4_address_count": 256
                },
                "schema": {
                  "$ref": "#/components/schemas/ClusterNetworkSubnet"
                }
              }
            },
            "description": "The cluster network subnet was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network subnet patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network subnet with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network subnet patch conflicts with another cluster network subnet\nin the cluster network."
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value of the cluster\nnetwork subnet."
          }
        },
        "summary": "Update a cluster network subnet",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.subnet.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.subnet.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets/$cluster_network_subnet_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network-subnet-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateClusterNetworkSubnetOptions{}\noptions.SetID(&clusterNetworkSubnetId)\noptions.SetClusterNetworkID(&clusterNetworkId)\noptions.SetName(&name)\nclusterNetwork, response, err :=\n  vpcService.UpdateClusterNetworkSubnet(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ClusterNetworkSubnetPatch clusterNetworkSubnetPatchModel = new\nClusterNetworkSubnetPatch.Builder()\n  .name(\"my-cluster-network-subnet-update\")\n  .build();\nMap<String, Object> clusterNetworkSubnetPatchModelAsPatch = clusterNetworkSubnetPatchModel.asPatch();\nUpdateClusterNetworkSubnetOptions updateClusterNetworkSubnetOptions =\n  new UpdateClusterNetworkSubnetOptions.Builder()\n    .clusterNetworkId(clusterNetworkId)\n    .id(clusterNetworkSubnetId)\n    .build();\n\nResponse<ClusterNetworkSubnet> response = vpcService\n  .updateClusterNetworkSubnet(updateClusterNetworkSubnetOptions)\n  .execute();\nClusterNetworkSubnet clusterNetworkSubnet = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateClusterNetworkSubnet({\n  clusterNetworkId: clusterNetworkId,\n  id: clusterNetworkSubnetId,\n  name: 'my-cluster-network-subnet-updated'\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_subnet_patch_model = {\n  'name'='my-cluster-network-subnet-update'\n}\ncluster_network_subnet = service.update_cluster_network_subnet(\n    cluster_network_id=cluster_network_id,\n    id=cluster_network_subnet_id,\n    cluster_network_subnet_patch=cluster_network_subnet_patch_model,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/cluster_networks/{id}": {
      "delete": {
        "description": "This request deletes a cluster network. This operation cannot be reversed.\n\nFor this request to succeed, virtual server instances must not reside in this cluster\nnetwork.",
        "operationId": "delete_cluster_network",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1: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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "cluster_network",
                  "subnet_prefixes": [
                    {
                      "allocation_policy": "auto",
                      "cidr": "10.0.0.0/24"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetwork"
                }
              }
            },
            "description": "The cluster network deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network 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 cluster\nnetwork."
          }
        },
        "summary": "Delete a cluster network",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.cluster-network.delete"
            },
            {
              "description": "Generated when cluster network interface was attached to the cluster network",
              "name": "is.cluster-network.interface.delete"
            },
            {
              "description": "Generated when cluster network subnet reserved IP was attached to the cluster network",
              "name": "is.cluster-network.subnet-reserved-ip.delete"
            },
            {
              "description": "Generated when cluster network subnet was attached to the cluster network",
              "name": "is.cluster-network.subnet.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.cluster-network.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteClusterNetworkOptions{}\noptions.SetID(&clusterNetworkId)\nresponse, err := vpcService.DeleteClusterNetwork(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteClusterNetworkOptions deleteClusterNetworkOptions = new\nDeleteClusterNetworkOptions.Builder()\n  .id(clusterNetworkId)\n  .build();\n\nResponse<void> response = vpcService.DeleteClusterNetwork(deleteClusterNetworkOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteClusterNetwork({ clusterNetworkId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_cluster_network(\n    id=cluster_network_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single cluster network specified by the identifier in the URL.",
        "operationId": "get_cluster_network",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1: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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "cluster_network",
                  "subnet_prefixes": [
                    {
                      "allocation_policy": "auto",
                      "cidr": "10.0.0.0/24"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetwork"
                }
              }
            },
            "description": "The cluster network was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a cluster network",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.cluster-network.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.cluster-network.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetClusterNetworkOptions{}\noptions.SetID(&clusterNetworkId)\nclusterNetwork, response, err := vpcService.GetClusterNetwork(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetClusterNetworkOptions getClusterNetworkOptions = new\nGetClusterNetworkOptions.Builder()\n  .id(clusterNetworkId)\n  .build();\n\nResponse<ClusterNetwork> response = vpcService\n  .getClusterNetwork(geClusterNetworkOptions)\n  .execute();\nClusterNetwork clusterNetwork = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getClusterNetwork({ clusterNetworkId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network =\n  service.get_cluster_network(\n    cluster_network_id=cluster_network_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/clusterNetworkIdUnqualified"
        },
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "patch": {
        "description": "This request updates a cluster network with the information provided in a cluster network\npatch object. The patch object is structured in the same way as a retrieved cluster network\nand needs to contain only the information to be updated.",
        "operationId": "update_cluster_network",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-cluster-network"
              },
              "schema": {
                "$ref": "#/components/schemas/ClusterNetworkPatch"
              }
            }
          },
          "description": "The cluster network patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1: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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "cluster_network",
                  "subnet_prefixes": [
                    {
                      "allocation_policy": "auto",
                      "cidr": "10.0.0.0/24"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/ClusterNetwork"
                }
              }
            },
            "description": "The cluster network was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A cluster network with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network patch conflicts with another cluster network\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 cluster\nnetwork."
          }
        },
        "summary": "Update a cluster",
        "tags": [
          "Cluster networks"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.cluster-network.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.cluster-network.cluster-network.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  \"$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-cluster-network-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateClusterNetworkOptions{}\noptions.SetID(&clusterNetworkId)\noptions.SetName(&name)\nclusterNetwork, response, err := vpcService.UpdateClusterNetwork(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ClusterNetworkPatch clusterNetworkPatchModel = new\nClusterNetworkPatch.Builder()\n  .name(\"my-cluster-network-update\")\n  .build();\nMap<String, Object> clusterNetworkPatchModelAsPatch = clusterNetworkPatchModel.asPatch();\nUpdateClusterNetworkOptions updateClusterNetworkOptions = new\nUpdateClusterNetworkOptions.Builder()\n  .id(clusterNetworkId)\n  .build();\n\nResponse<ClusterNetwork> response = vpcService\n  .updateClusterNetwork(updateClusterNetworkOptions)\n  .execute();\nClusterNetwork clusterNetwork = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateClusterNetwork({\n  id: clusterNetworkId,\n  name: 'my-cluster-network-updated'\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_patch_model = {\n  'name'='my-cluster-network-update'\n}\ncluster_network = vpc_service.update_cluster_network(\n    id=cluster_network_id,\n    cluster_network_patch=cluster_network_patch_model,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/dedicated_host/groups": {
      "get": {
        "description": "This request lists dedicated host groups in the region. Each dedicated host must belong to\nexactly one group, which controls placement of instances. Dedicated host groups do not span\nzones.",
        "operationId": "list_dedicated_host_groups",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/zone"
          },
          {
            "$ref": "#/components/parameters/name"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups?limit=20"
                  },
                  "groups": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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-host",
                          "resource_type": "dedicated_host"
                        }
                      ],
                      "family": "balanced",
                      "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": "my-resource-group"
                      },
                      "resource_type": "dedicated_host_group",
                      "supported_instance_profiles": [
                        {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                          "name": "bx2-4x16",
                          "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": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostGroupCollection"
                }
              }
            },
            "description": "The dedicated host groups were retrieved successfully."
          }
        },
        "summary": "List dedicated host groups",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/dedicated_host/groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListDedicatedHostGroupsOptions()\ndedicatedHostGroups, response, err :=\n  vpcService.ListDedicatedHostGroups(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListDedicatedHostGroupsOptions listDedicatedHostGroupsOptions = new ListDedicatedHostGroupsOptions.Builder()\n  .build();\nResponse<DedicatedHostGroupCollection> response = service.listDedicatedHostGroups(listDedicatedHostGroupsOptions).execute();\nDedicatedHostGroupCollection dedicatedHostGroupCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listDedicatedHostGroups();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_dedicated_host_groups()\ndedicated_host_groups = response.get_result()['dedicated_host_groups']"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new dedicated host group.",
        "operationId": "create_dedicated_host_group",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "family": "balanced",
                "name": "my-dedicated-host-group",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/DedicatedHostGroupPrototype"
              }
            }
          },
          "description": "The dedicated host group prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-host",
                      "resource_type": "dedicated_host"
                    }
                  ],
                  "family": "balanced",
                  "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": "my-resource-group"
                  },
                  "resource_type": "dedicated_host_group",
                  "supported_instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostGroup"
                }
              }
            },
            "description": "The dedicated host group was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid dedicated host group prototype object was provided"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The dedicated host group prototype object conflicts with another dedicated host\ngroup in the region."
          }
        },
        "summary": "Create a dedicated host group",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host-group.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host-group.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/dedicated_host/groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-host-group\",\n      \"family\": \"memory\",\n      \"class\": \"mx2\",\n      \"zone\": {\n        \"name\": \"us-south-1\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateDedicatedHostGroupOptions{\n  Name: &name,\n  Class: &class,\n  Family: &family,\n  Zone: &vpcv1.ZoneIdentity{\n    Name: &zoneName,\n    },\n  }\n\ndedicatedHostGroup, response, err = vpcService.CreateDedicatedHostGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n  .name(zoneName)\n  .build();\n\nCreateDedicatedHostGroupOptions createDedicatedHostGroupOptions = new CreateDedicatedHostGroupOptions.Builder()\n  .name('my-dedicated-host-group')\n  .xClass(className)\n  .family(familyName)\n  .zone(zoneIdentityModel)\n  .build();\n\nResponse<DedicatedHostGroup> response = service.createDedicatedHostGroup(createDedicatedHostGroupOptions).execute();\nDedicatedHostGroup dedicatedHostGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  _class: className,\n  family: familyName,\n  name: 'my-dedicated-host-group',\n  zone: { id: zoneID },\n};\nconst response = await vpcService.createDedicatedHostGroup(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "zone_identity_model = {}\nzone_identity_model['name'] = zoneName\n\nclass_ = 'mx2'\nfamily = 'balanced'\nzone = zone_identity_model\n\nresponse = service.create_dedicated_host_group(\n    class_, family, zone)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/dedicated_host/groups/{id}": {
      "delete": {
        "description": "This request deletes a dedicated host group.",
        "operationId": "delete_dedicated_host_group",
        "responses": {
          "204": {
            "description": "The dedicated host group was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host group with the specified identifier could not be found."
          }
        },
        "summary": "Delete a dedicated host group",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host-group.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host-group.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/dedicated_host/groups/$dedicated_host_group_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeleteDedicatedHostGroupOptions(id)\nresponse, err := vpcService.DeleteDedicatedHostGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteDedicatedHostGroupOptions deleteDedicatedHostGroupOptions = new DeleteDedicatedHostGroupOptions.Builder()\n.id(id)\n.build();\n\nResponse<Void> response = service.deleteDedicatedHostGroup(deleteDedicatedHostGroupOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteDedicatedHostGroup({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_dedicated_host_group(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single dedicated host group specified by the identifier in the URL.",
        "operationId": "get_dedicated_host_group",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-host",
                      "resource_type": "dedicated_host"
                    }
                  ],
                  "family": "balanced",
                  "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": "my-resource-group"
                  },
                  "resource_type": "dedicated_host_group",
                  "supported_instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostGroup"
                }
              }
            },
            "description": "The dedicated host group was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host group with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a dedicated host group",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/dedicated_host/groups/$dedicated_host_group_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetDedicatedHostGroupOptions(id)\ndedicatedHostGroup, response, err := vpcService.GetDedicatedHostGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetDedicatedHostGroupOptions getDedicatedHostGroupOptions = new GetDedicatedHostGroupOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<DedicatedHostGroup> response = service.getDedicatedHostGroup(getDedicatedHostGroupOptions).execute();\nDedicatedHostGroup dedicatedHostGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getDedicatedHostGroup({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_dedicated_host_group(id)\nif response.status_code == 200:\n    dedicated_host_group = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/dedicatedHostGroupIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a dedicated host group with the information in a provided dedicated\nhost group patch. The dedicated host group patch object is structured in the same way as a\nretrieved dedicated host group and contains only the information to be updated.",
        "operationId": "update_dedicated_host_group",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-dedicated-host-group"
              },
              "schema": {
                "$ref": "#/components/schemas/DedicatedHostGroupPatch"
              }
            }
          },
          "description": "The dedicated host group patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-host",
                      "resource_type": "dedicated_host"
                    }
                  ],
                  "family": "balanced",
                  "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": "my-resource-group"
                  },
                  "resource_type": "dedicated_host_group",
                  "supported_instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostGroup"
                }
              }
            },
            "description": "The dedicated host group was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid dedicated host group patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host group with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The dedicated host group patch conflicts with another dedicated host group\nin the region, or the dedicated host group must be empty to change family"
          }
        },
        "summary": "Update a dedicated host group",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host-group.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/dedicated_host/groups/$dedicated_host_group_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-host-group-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateDedicatedHostGroupOptions{\n  DedicatedHostGroupID: &id,\n  Name:                 &name,\n}\ndedicatedHostGroup, response, err := vpcService.UpdateDedicatedHostGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateDedicatedHostGroupOptions updateDedicatedHostGroupOptions = new UpdateDedicatedHostGroupOptions.Builder()\n  .id(id)\n  .name(\"my-dedicated-host-group-update\")\n  .build();\n\nResponse<DedicatedHostGroup> response = service.updateDedicatedHostGroup(updateDedicatedHostGroupOptions).execute();\nDedicatedHostGroup dedicatedHostGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateDedicatedHostGroup({\n  id,\n  name: 'my-dedicated-host-group',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "new_name = 'my-dedicated-host-group-updated'\nresponse = service.update_dedicated_host_group(id, name=new_name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/dedicated_host/profiles": {
      "get": {
        "description": "This request lists provisionable [dedicated host\nprofiles](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) in the region. A dedicated\nhost profile specifies the hardware characteristics for a dedicated host.",
        "operationId": "list_dedicated_host_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/dedicated_host/profiles?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_host/profiles?start=9da91&limit=20"
                  },
                  "profiles": [
                    {
                      "disks": [
                        {
                          "interface_type": {
                            "type": "fixed",
                            "value": "nvme"
                          },
                          "quantity": {
                            "type": "fixed",
                            "value": 4
                          },
                          "size": {
                            "type": "fixed",
                            "value": 3200
                          },
                          "supported_instance_interface_types": {
                            "type": "fixed",
                            "value": [
                              "nvme"
                            ]
                          }
                        }
                      ],
                      "family": "balanced",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                      "memory": {
                        "type": "fixed",
                        "value": 32
                      },
                      "name": "mx2-host-152x1216",
                      "socket_count": {
                        "type": "fixed",
                        "value": 8
                      },
                      "status": "current",
                      "supported_instance_profiles": [
                        {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                          "name": "bx2-4x16",
                          "resource_type": "instance_profile"
                        }
                      ],
                      "vcpu_architecture": {
                        "type": "fixed",
                        "value": "amd64"
                      },
                      "vcpu_count": {
                        "type": "fixed",
                        "value": 8
                      },
                      "vcpu_manufacturer": {
                        "type": "fixed",
                        "value": "amd"
                      }
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostProfileCollection"
                }
              }
            },
            "description": "The dedicated host profiles were retrieved successfully"
          }
        },
        "summary": "List dedicated host profiles",
        "tags": [
          "Dedicated hosts"
        ],
        "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/dedicated_host/profiles?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListDedicatedHostProfilesOptions{}\nprofiles, response, err := vpcService.ListDedicatedHostProfiles(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListDedicatedHostProfilesOptions listDedicatedHostProfilesOptions = new ListDedicatedHostProfilesOptions();\n\nResponse<DedicatedHostProfileCollection> response = service.listDedicatedHostProfiles(listDedicatedHostProfilesOptions).execute();\nDedicatedHostProfileCollection dedicatedHostProfileCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listDedicatedHostProfiles();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_dedicated_host_profiles()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/dedicated_host/profiles/{name}": {
      "get": {
        "description": "This request retrieves a single dedicated host profile specified by the name in the URL.",
        "operationId": "get_dedicated_host_profile",
        "parameters": [
          {
            "description": "The dedicated host profile name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "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"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "disks": [
                    {
                      "interface_type": {
                        "type": "fixed",
                        "value": "nvme"
                      },
                      "quantity": {
                        "type": "fixed",
                        "value": 4
                      },
                      "size": {
                        "type": "fixed",
                        "value": 3200
                      },
                      "supported_instance_interface_types": {
                        "type": "fixed",
                        "value": [
                          "nvme"
                        ]
                      }
                    }
                  ],
                  "family": "balanced",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                  "memory": {
                    "type": "fixed",
                    "value": 32
                  },
                  "name": "mx2-host-152x1216",
                  "socket_count": {
                    "type": "fixed",
                    "value": 8
                  },
                  "status": "current",
                  "supported_instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "resource_type": "instance_profile"
                    }
                  ],
                  "vcpu_architecture": {
                    "type": "fixed",
                    "value": "amd64"
                  },
                  "vcpu_count": {
                    "type": "fixed",
                    "value": 8
                  },
                  "vcpu_manufacturer": {
                    "type": "fixed",
                    "value": "amd"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostProfile"
                }
              }
            },
            "description": "The dedicated host profile was retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host profile with the specified name could not be found."
          }
        },
        "summary": "Retrieve a dedicated host profile",
        "tags": [
          "Dedicated hosts"
        ],
        "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/dedicated_host/profiles/$profile-name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetDedicatedHostProfileOptions{}\noptions.SetName(profileName)\nprofile, response, err := vpcService.GetDedicatedHostProfile(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetDedicatedHostProfileOptions getDedicatedHostProfileOptions = new GetDedicatedHostProfileOptions.Builder()\n  .name(profileName)\n  .build();\n\nResponse<DedicatedHostProfile> response = service.getDedicatedHostProfile(getDedicatedHostProfileOptions).execute();\nDedicatedHostProfile dedicatedHostProfile = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getDedicatedHostProfile({ name: profileName });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_dedicated_host_profile(name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/dedicated_hosts": {
      "get": {
        "description": "This request lists dedicated hosts in the region.",
        "operationId": "list_dedicated_hosts",
        "parameters": [
          {
            "$ref": "#/components/parameters/dedicatedHostGroup"
          },
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/zone"
          },
          {
            "$ref": "#/components/parameters/name"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "dedicated_hosts": [
                    {
                      "available_memory": 128,
                      "available_vcpu": {
                        "architecture": "amd64",
                        "count": 4,
                        "manufacturer": "amd"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                      "disks": [
                        {
                          "available": 1,
                          "created_at": "2026-01-02T03:04:05.006Z",
                          "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": [
                            {
                              "deleted": {
                                "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                              },
                              "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                              "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                              "name": "my-instance-disk",
                              "resource_type": "instance_disk"
                            }
                          ],
                          "interface_type": "nvme",
                          "lifecycle_state": "deleting",
                          "name": "my-dedicated-host-disk",
                          "provisionable": true,
                          "resource_type": "dedicated_host_disk",
                          "size": 1,
                          "supported_instance_interface_types": [
                            "nvme"
                          ]
                        }
                      ],
                      "group": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "memory": 128,
                      "name": "my-host",
                      "numa": {
                        "count": 2,
                        "nodes": [
                          {
                            "available_vcpu": 24,
                            "vcpu": 56
                          }
                        ]
                      },
                      "profile": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                        "name": "mx2-host-152x1216"
                      },
                      "provisionable": true,
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "dedicated_host",
                      "socket_count": 4,
                      "state": "available",
                      "supported_instance_profiles": [
                        {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                          "name": "bx2-4x16",
                          "resource_type": "instance_profile"
                        }
                      ],
                      "vcpu": {
                        "architecture": "amd64",
                        "count": 4,
                        "manufacturer": "amd"
                      },
                      "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostCollection"
                }
              }
            },
            "description": "The dedicated hosts were retrieved successfully."
          }
        },
        "summary": "List dedicated hosts",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/dedicated_hosts?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListDedicatedHostsOptions()\ndedicatedHosts, response, err :=\n  vpcService.ListDedicatedHosts(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListDedicatedHostsOptions listDedicatedHostsOptions = new ListDedicatedHostsOptions.Builder()\n  .build();\nResponse<DedicatedHostCollection> response = service.listDedicatedHosts(listDedicatedHostsOptions).execute();\nDedicatedHostCollection dedicatedHostCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listDedicatedHosts();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_dedicated_hosts()\ndedicated_hosts = response.get_result()['dedicated_hosts']"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new dedicated host.",
        "operationId": "create_dedicated_host",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "group": {
                  "id": "0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0"
                },
                "instance_placement_enabled": true,
                "name": "my-host",
                "profile": {
                  "name": "mx2-host-152x1216"
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/DedicatedHostPrototype"
              }
            }
          },
          "description": "The dedicated host prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "available_memory": 128,
                  "available_vcpu": {
                    "architecture": "amd64",
                    "count": 4,
                    "manufacturer": "amd"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                  "disks": [
                    {
                      "available": 1,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "name": "my-instance-disk",
                          "resource_type": "instance_disk"
                        }
                      ],
                      "interface_type": "nvme",
                      "lifecycle_state": "deleting",
                      "name": "my-dedicated-host-disk",
                      "provisionable": true,
                      "resource_type": "dedicated_host_disk",
                      "size": 1,
                      "supported_instance_interface_types": [
                        "nvme"
                      ]
                    }
                  ],
                  "group": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 128,
                  "name": "my-host",
                  "numa": {
                    "count": 2,
                    "nodes": [
                      {
                        "available_vcpu": 24,
                        "vcpu": 56
                      }
                    ]
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                    "name": "mx2-host-152x1216"
                  },
                  "provisionable": true,
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "dedicated_host",
                  "socket_count": 4,
                  "state": "available",
                  "supported_instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "resource_type": "instance_profile"
                    }
                  ],
                  "vcpu": {
                    "architecture": "amd64",
                    "count": 4,
                    "manufacturer": "amd"
                  },
                  "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/DedicatedHost"
                }
              }
            },
            "description": "The dedicated host was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid dedicated host prototype object was provided"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The dedicated host prototype object conflicts with another dedicated host in the region,\nor the dedicated host group family must match the specified host profile family"
          }
        },
        "summary": "Create a dedicated host",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.create"
            },
            {
              "name": "is.dedicated-host.dedicated-host-group.create"
            },
            {
              "name": "is.dedicated-host.dedicated-host-group.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.create"
            },
            {
              "name": "is.dedicated-host.dedicated-host-group.create"
            },
            {
              "name": "is.dedicated-host.dedicated-host-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/dedicated_hosts?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-host\",\n      \"zone\": {\n        \"name\": \"us-south-1\"\n      },\n      \"group\": {\n        \"id\": \"0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0\"\n      },\n      \"profile\": {\n        \"name\": \"dh2-56x448\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateDedicatedHostOptions{}\noptions.SetDedicatedHostPrototype(&vpcv1.DedicatedHostPrototype{\n  Name: &name,\n  Profile: &vpcv1.DedicatedHostProfileIdentity{\n    Name: &profileName,\n    },\n  Group: &vpcv1.DedicatedHostGroupIdentity{\n    ID: &groupID,\n    },\n  })\ndedicatedHost, response, err = vpcService.CreateDedicatedHost(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DedicatedHostProfileIdentityByName dedicatedHostProfileIdentityModel = new DedicatedHostProfileIdentityByName.Builder()\n  .name(profileName)\n  .build();\nDedicatedHostGroupIdentityById dedicatedHostGroupIdentityModel = new DedicatedHostGroupIdentityById.Builder()\n  .id(groupId)\n  .build();\n\nDedicatedHostPrototypeDedicatedHostByGroup dedicatedHostPrototypeModel = new DedicatedHostPrototypeDedicatedHostByGroup.Builder()\n  .name(\"my-dedicated-host\")\n  .profile(dedicatedHostProfileIdentityModel)\n  .group(dedicatedHostGroupIdentityModel)\n  .build();\nCreateDedicatedHostOptions createDedicatedHostOptions = new CreateDedicatedHostOptions.Builder()\n  .dedicatedHostPrototype(dedicatedHostPrototypeModel)\n  .build();\n\nResponse<DedicatedHost> response = service.createDedicatedHost(createDedicatedHostOptions).execute();\nDedicatedHost dedicatedHost = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  dedicatedHostPrototype: {\n    profile: { name: profileName },\n    group: { id: groupID },\n    name: 'my-dedicated-host',\n  },\n};\nconst response = await vpcService.createDedicatedHost(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "dedicated_host_group_identity_model = {}\ndedicated_host_group_identity_model['id'] = group_id\n\ndedicated_host_profile_identity_model = {}\ndedicated_host_profile_identity_model['name'] = profile\n\ndedicated_host_prototype_model = {}\ndedicated_host_prototype_model[\n    'group'] = dedicated_host_group_identity_model\ndedicated_host_prototype_model[\n    'profile'] = dedicated_host_profile_identity_model\n\ndedicated_host_prototype = dedicated_host_prototype_model\n\nresponse = service.create_dedicated_host(dedicated_host_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/dedicated_hosts/{dedicated_host_id}/disks": {
      "get": {
        "description": "This request lists disks on a dedicated host.  A disk is a physical device that is\nlocally attached to the compute node. By default, the listed disks are sorted by their\n`created_at` property values, with the newest disk first.",
        "operationId": "list_dedicated_host_disks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "disks": [
                    {
                      "available": 1,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "name": "my-instance-disk",
                          "resource_type": "instance_disk"
                        }
                      ],
                      "interface_type": "nvme",
                      "lifecycle_state": "deleting",
                      "name": "my-dedicated-host-disk",
                      "provisionable": true,
                      "resource_type": "dedicated_host_disk",
                      "size": 1,
                      "supported_instance_interface_types": [
                        "nvme"
                      ]
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostDiskCollection"
                }
              }
            },
            "description": "The dedicated host disks were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host with the specified identifier could not be found."
          }
        },
        "summary": "List disks on a dedicated host",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/dedicated_hosts/$dedicated_host_id/disks?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listDedicatedHostDisksOptions := vpcService.NewListDedicatedHostDisksOptions(\n  dedicatedHostID,\n)\ndedicatedHostDisksCollection, response, err :=\n  vpcService.ListDedicatedHostDisks(listDedicatedHostDisksOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListDedicatedHostDisksOptions listDedicatedHostDisksOptions = new ListDedicatedHostDisksOptions.Builder()\n  .dedicatedHostId(dedicatedHostId)\n  .build();\n\nResponse<DedicatedHostDiskCollection> response = service.listDedicatedHostDisks(listDedicatedHostDisksOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listDedicatedHostDisks({dedicatedHostId})"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "dedicated_host_disk_collection = vpc_service.list_dedicated_host_disks(\n    dedicated_host_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/dedicatedHostId"
        }
      ]
    },
    "/dedicated_hosts/{dedicated_host_id}/disks/{id}": {
      "get": {
        "description": "This request retrieves a single dedicated host disk specified by the identifier in the URL.",
        "operationId": "get_dedicated_host_disk",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "available": 1,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "name": "my-instance-disk",
                      "resource_type": "instance_disk"
                    }
                  ],
                  "interface_type": "nvme",
                  "lifecycle_state": "deleting",
                  "name": "my-dedicated-host-disk",
                  "provisionable": true,
                  "resource_type": "dedicated_host_disk",
                  "size": 1,
                  "supported_instance_interface_types": [
                    "nvme"
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostDisk"
                }
              }
            },
            "description": "The dedicated host disk was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host disk with the specified identifier could not be found for the specified\ndedicated host."
          }
        },
        "summary": "Retrieve a dedicated host disk",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/dedicated_hosts/$dedicated_host_id/disks/$disk_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getDedicatedHostDiskOptions := vpcService.NewGetDedicatedHostDiskOptions(\n  dedicatedHostID,\n  diskID,\n)\n\ndedicatedHostDisk, response, err :=\n  vpcService.GetDedicatedHostDisk(getDedicatedHostDiskOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetDedicatedHostDiskOptions getDedicatedHostDiskOptions = new GetDedicatedHostDiskOptions.Builder()\n  .dedicatedHostId(dedicatedHostId)\n  .id(diskId)\n  .build();\n\nResponse<DedicatedHostDisk> response = service.getDedicatedHostDisk(getDedicatedHostDiskOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getDedicatedHostDisk({dedicatedHostId, id})"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "dedicated_host_disk = vpc_service.get_dedicated_host_disk(\n    dedicated_host_id,\n    id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/dedicatedHostId"
        },
        {
          "$ref": "#/components/parameters/dedicatedHostDiskIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates the dedicated host disk with the information in a provided patch.",
        "operationId": "update_dedicated_host_disk",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-dedicated-host-disk-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/DedicatedHostDiskPatch"
              }
            }
          },
          "description": "The dedicated host disk patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "available": 1,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "name": "my-instance-disk",
                      "resource_type": "instance_disk"
                    }
                  ],
                  "interface_type": "nvme",
                  "lifecycle_state": "deleting",
                  "name": "my-dedicated-host-disk",
                  "provisionable": true,
                  "resource_type": "dedicated_host_disk",
                  "size": 1,
                  "supported_instance_interface_types": [
                    "nvme"
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/DedicatedHostDisk"
                }
              }
            },
            "description": "The dedicated host disk was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid dedicated host disk patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host disk with the specified identifier could not be found for the specified\ndedicated host."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The dedicated host disk patch conflicts with another disk for the dedicated host."
          }
        },
        "summary": "Update a dedicated host disk",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/dedicated_hosts/$dedicated_host_id/disks/$disk_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-disk-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "dedicatedHostDiskPatchModel := &vpcv1.DedicatedHostDiskPatch{\n  Name: &name,\n}\ndedicatedHostDiskPatchModelAsPatch, asPatchErr :=\n  dedicatedHostDiskPatchModel.AsPatch()\n\nupdateDedicatedHostDiskOptions := vpcService.NewUpdateDedicatedHostDiskOptions(\n  dedicatedHostID,\n  diskID,\n  dedicatedHostDiskPatchModelAsPatch,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DedicatedHostDiskPatch dedicatedHostDiskPatchModel = new DedicatedHostDiskPatch.Builder()\n  .name(\"my-disk-update\")\n  .build();\nMap<String, Object> dedicatedHostDiskPatchModelAsPatch = dedicatedHostDiskPatchModel.asPatch();\nUpdateDedicatedHostDiskOptions updateDedicatedHostDiskOptions = new UpdateDedicatedHostDiskOptions.Builder()\n  .dedicatedHostId(dedicatedHostId)\n  .id(diskId)\n  .dedicatedHostDiskPatch(dedicatedHostDiskPatchModelAsPatch)\n  .build();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateDedicatedHostDisk({\n  dedicatedHostId,\n  id,\n  name,\n})"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "dedicated_host_disk_patch_model = {\n  name='my-disk-updated'\n}\n\ndedicated_host_disk = vpc_service.update_dedicated_host_disk(\n    dedicated_host_id,\n    id,\n    dedicated_host_disk_patch=dedicated_host_disk_patch_model\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/dedicated_hosts/{id}": {
      "delete": {
        "description": "This request deletes a dedicated host. This operation cannot be reversed. For this request\nto succeed, `instances` must be empty and `instance_placement_enabled` must be `false`.",
        "operationId": "delete_dedicated_host",
        "responses": {
          "204": {
            "description": "The dedicated host was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host with the specified dedicated host group and dedicated host identifiers\ncould not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The dedicated host is in use and cannot be deleted."
          }
        },
        "summary": "Delete a dedicated host",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/dedicated_hosts/$dedicated_host_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeleteDedicatedHostOptions(id)\nresponse, err := vpcService.DeleteDedicatedHost(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteDedicatedHostOptions deleteDedicatedHostOptions = new DeleteDedicatedHostOptions.Builder()\n.id(id)\n.build();\n\nResponse<Void> response = service.deleteDedicatedHost(deleteDedicatedHostOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteDedicatedHost({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_dedicated_host(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single dedicated host specified by the identifiers in the URL.",
        "operationId": "get_dedicated_host",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "available_memory": 128,
                  "available_vcpu": {
                    "architecture": "amd64",
                    "count": 4,
                    "manufacturer": "amd"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                  "disks": [
                    {
                      "available": 1,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "name": "my-instance-disk",
                          "resource_type": "instance_disk"
                        }
                      ],
                      "interface_type": "nvme",
                      "lifecycle_state": "deleting",
                      "name": "my-dedicated-host-disk",
                      "provisionable": true,
                      "resource_type": "dedicated_host_disk",
                      "size": 1,
                      "supported_instance_interface_types": [
                        "nvme"
                      ]
                    }
                  ],
                  "group": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 128,
                  "name": "my-host",
                  "numa": {
                    "count": 2,
                    "nodes": [
                      {
                        "available_vcpu": 24,
                        "vcpu": 56
                      }
                    ]
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                    "name": "mx2-host-152x1216"
                  },
                  "provisionable": true,
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "dedicated_host",
                  "socket_count": 4,
                  "state": "available",
                  "supported_instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "resource_type": "instance_profile"
                    }
                  ],
                  "vcpu": {
                    "architecture": "amd64",
                    "count": 4,
                    "manufacturer": "amd"
                  },
                  "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/DedicatedHost"
                }
              }
            },
            "description": "The dedicated host was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host with the specified dedicated host and group identifiers could not be\nfound."
          }
        },
        "summary": "Retrieve a dedicated host",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/dedicated_hosts/$dedicated_host_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetDedicatedHostOptions(id)\ndedicatedHost, response, err := vpcService.GetDedicatedHost(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetDedicatedHostOptions getDedicatedHostOptions = new GetDedicatedHostOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<DedicatedHost> response = service.getDedicatedHost(getDedicatedHostOptions).execute();\nDedicatedHost dedicatedHost = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getDedicatedHost({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_dedicated_host(id)\nif response.status_code == 200:\n    dedicated_host = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/dedicatedHostIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a dedicated host with the information in a provided dedicated host\npatch. The dedicated host patch object is structured in the same way as a retrieved\ndedicated host and contains only the information to be updated.",
        "operationId": "update_dedicated_host",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "instance_placement_enabled": true,
                "name": "my-host"
              },
              "schema": {
                "$ref": "#/components/schemas/DedicatedHostPatch"
              }
            }
          },
          "description": "The dedicated host patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "available_memory": 128,
                  "available_vcpu": {
                    "architecture": "amd64",
                    "count": 4,
                    "manufacturer": "amd"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host:0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                  "disks": [
                    {
                      "available": 1,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "name": "my-instance-disk",
                          "resource_type": "instance_disk"
                        }
                      ],
                      "interface_type": "nvme",
                      "lifecycle_state": "deleting",
                      "name": "my-dedicated-host-disk",
                      "provisionable": true,
                      "resource_type": "dedicated_host_disk",
                      "size": 1,
                      "supported_instance_interface_types": [
                        "nvme"
                      ]
                    }
                  ],
                  "group": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::dedicated-host-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 128,
                  "name": "my-host",
                  "numa": {
                    "count": 2,
                    "nodes": [
                      {
                        "available_vcpu": 24,
                        "vcpu": 56
                      }
                    ]
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/dedicated_hosts/0717-1e09281b-f177-46fb-baf1-bc152b2e391a",
                    "name": "mx2-host-152x1216"
                  },
                  "provisionable": true,
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "dedicated_host",
                  "socket_count": 4,
                  "state": "available",
                  "supported_instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "resource_type": "instance_profile"
                    }
                  ],
                  "vcpu": {
                    "architecture": "amd64",
                    "count": 4,
                    "manufacturer": "amd"
                  },
                  "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/DedicatedHost"
                }
              }
            },
            "description": "The dedicated host was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid dedicated host patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A dedicated host with the specified dedicated host group and dedicated host identifiers\ncould not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The dedicated host patch conflicts with another dedicated host in the region."
          }
        },
        "summary": "Update a dedicated host",
        "tags": [
          "Dedicated hosts"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.dedicated-host.dedicated-host.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.dedicated-host.dedicated-host.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/dedicated_hosts/$dedicated_host_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-host\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateDedicatedHostOptions{\n  DedicatedHostID:  &id,\n  Name:             &name,\n}\ndedicatedHost, response, err := vpcService.UpdateDedicatedHost(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateDedicatedHostOptions updateDedicatedHostOptions = new UpdateDedicatedHostOptions.Builder()\n  .id(id)\n  .name(\"my-dedicated-host-update\")\n  .build();\n\nResponse<DedicatedHost> response = service.updateDedicatedHost(updateDedicatedHostOptions).execute();\nDedicatedHost dedicatedHost = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateDedicatedHost({\n  id,\n  name: 'my-dedicated-host',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "new_name = 'my-dedicated-host-updated'\nresponse = service.update_dedicated_host(id, name=new_name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/endpoint_gateways": {
      "get": {
        "description": "This request lists endpoint gateways in the region. An endpoint gateway maps one\nor more reserved IPs in a VPC to a target outside the VPC.\n\nThe endpoint gateways will be sorted by their `created_at` property values, with\nnewest endpoint gateway first. Endpoint gateways with identical `created_at` property\nvalues will in turn be sorted by ascending `name` property values.",
        "operationId": "list_endpoint_gateways",
        "parameters": [
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/lifecycleState"
          },
          {
            "$ref": "#/components/parameters/vpc"
          },
          {
            "$ref": "#/components/parameters/vpcByCRN"
          },
          {
            "$ref": "#/components/parameters/vpcByName"
          },
          {
            "$ref": "#/components/parameters/endpointGatewayDNSResolutionBindingMode"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "endpoint_gateways": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                      "dns_resolution_binding_mode": "disabled",
                      "health_state": "degraded",
                      "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "resource_type": "subnet_reserved_ip"
                        }
                      ],
                      "lifecycle_reasons": [
                        {
                          "code": "access_denied",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-endpoint-gateway",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "endpoint_gateway",
                      "security_groups": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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_endpoint": "my-cloudant-instance.appdomain.cloud",
                      "service_endpoints": [
                        "my-cloudant-instance.appdomain.cloud"
                      ],
                      "target": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "ibm-ntp-server",
                        "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": "private_path_service_gateway"
                      },
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways?start=ffd653466e284937896724b2dd044c9c&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/EndpointGatewayCollection"
                }
              }
            },
            "description": "The endpoint gateways were retrieved successfully."
          }
        },
        "summary": "List endpoint gateways",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.list"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.list"
            },
            {
              "name": "is.endpoint-gateway.endpoint-gateway.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/endpoint_gateways?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListEndpointGatewaysOptions()\nendpointGateways, response, err :=\n  vpcService.ListEndpointGateways(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListEndpointGatewaysOptions listEndpointGatewaysOptions = new ListEndpointGatewaysOptions.Builder()\n  .build();\nResponse<EndpointGatewayCollection> response = service.listEndpointGateways(listEndpointGatewaysOptions).execute();\nEndpointGatewayCollection endpointGatewayCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listEndpointGateways();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_endpoint_gateways()\nendpoint_gateways = response.get_result()['endpoint_gateways']"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new endpoint gateway from an endpoint gateway prototype object.\nThe prototype object is structured in the same way as a retrieved endpoint gateway, and\ncontains the information necessary to create a new endpoint gateway. An endpoint gateway\nmaps one or more reserved IPs in a VPC to a target service outside the VPC.",
        "operationId": "create_endpoint_gateway",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "dns_resolution_binding_mode": "disabled",
                "ips": [
                  {
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                  }
                ],
                "name": "my-endpoint-gateway",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "security_groups": [
                  {
                    "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                  }
                ],
                "target": {
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                  "resource_type": "private_path_service_gateway"
                },
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/EndpointGatewayPrototype"
              }
            }
          },
          "description": "The endpoint gateway prototype",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                  "dns_resolution_binding_mode": "disabled",
                  "health_state": "degraded",
                  "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "lifecycle_reasons": [
                    {
                      "code": "access_denied",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-endpoint-gateway",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "endpoint_gateway",
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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_endpoint": "my-cloudant-instance.appdomain.cloud",
                  "service_endpoints": [
                    "my-cloudant-instance.appdomain.cloud"
                  ],
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "ibm-ntp-server",
                    "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": "private_path_service_gateway"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/EndpointGateway"
                }
              }
            },
            "description": "The endpoint gateway was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid endpoint gateway prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The endpoint gateway prototype object specifies one or more of:\n- A reserved IP that is already in use\n- A reserved IP prototype object with a subnet with no available IP addresses\n- A target with a service endpoint that overlaps with the `service_endpoints` of:\n  - Another endpoint gateway in the VPC this endpoint gateway resides in\n  - An endpoint gateway in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing)\n    connected topology."
          }
        },
        "summary": "Create an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.create"
            },
            {
              "description": "Generated for each resource being attached to the endpoint gateway\n(such as a security group).",
              "name": "is.endpoint-gateway.endpoint-gateway.attach"
            },
            {
              "description": "Generated for each reserved IP created that was specified in `ips`",
              "name": "is.subnet.reserved-ip.create"
            },
            {
              "description": "Generated for each reserved IP that was specified in `ips`.",
              "name": "is.subnet.reserved-ip.attach"
            },
            {
              "description": "Generated for each security group that was specified in `security_groups`.",
              "name": "is.security-group.security-group.attach"
            },
            {
              "description": "Generated when the target is a private path service gateway",
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.create"
            },
            {
              "name": "is.vpc.vpc.operate"
            },
            {
              "description": "Required for any subnet on which `ips` specifies one or more new reserved IPs",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Required for any subnet on which `ips` specifies one or more existing reserved IPs",
              "name": "is.subnet.subnet.operate"
            },
            {
              "name": "is.security-group.security-group.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/endpoint_gateways?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-endpoint-gateway-1\",\n      \"target\": {\n        \"name\": \"ibm-ntp-server\",\n        \"resource_type\":\"provider_infrastructure_service\"\n      },\n      \"vpc\": {\n          \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n      },\n      \"ips\": [\n          { \"id\": \"0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb\" }\n      ]\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateEndpointGatewayOptions{}\noptions.SetName(name)\noptions.SetVPC(&vpcv1.VPCIdentity{\n  ID: &vpcID,\n})\ntargetName := \"ibm-ntp-server\"\nproviderInfrastructureService := \"provider_infrastructure_service\"\noptions.SetTarget(\n  &vpcv1.EndpointGatewayTargetPrototype {\n    ResourceType: &providerInfrastructureService,\n    Name:         &targetName,\n  },\n)\nendpointGateway, response, err := vpcService.CreateEndpointGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "EndpointGatewayTargetPrototypeProviderCloudServiceIdentityProviderCloudServiceIdentityByCRN endpointGatewayTargetPrototypeModel = new EndpointGatewayTargetPrototypeProviderCloudServiceIdentityProviderCloudServiceIdentityByCRN.Builder()\n  .crn(crn)\n  .build();\nVPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nCreateEndpointGatewayOptions createEndpointGatewayOptions = new CreateEndpointGatewayOptions.Builder()\n  .target(endpointGatewayTargetPrototypeModel)\n  .vpc(vpcIdentityModel)\n  .name(\"my-endpoint-gateway\")\n  .build();\n\nResponse<EndpointGateway> response = service.createEndpointGateway(createEndpointGatewayOptions).execute();\nEndpointGateway endpointGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  target: {\n    name: 'ibm-ntp-server',\n    resource_type: 'provider_infrastructure_service',\n  },\n  vpc: { id: vpcID },\n  name: 'my-endpoint-gateway',\n\n};\nconst response = await vpcService.createEndpointGateway(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "target_prototype_model = {}\ntarget_prototype_model['resource_type'] = 'provider_infrastructure_service'\ntarget_prototype_model['name'] = 'ibm-ntp-server'\n\nvpc_identity_model = {}\nvpc_identity_model['id'] = vpc_id\n\nname = 'my-endpoint-gateway'\nresponse = service.create_endpoint_gateway(\n    target_prototype_model, vpc_identity_model, name=name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/endpoint_gateways/{endpoint_gateway_id}/ips": {
      "get": {
        "description": "This request lists reserved IPs bound to an endpoint gateway.",
        "operationId": "list_endpoint_gateway_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"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/ips?limit=20"
                  },
                  "ips": [
                    {
                      "address": "192.168.3.4",
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "lifecycle_state": "deleting",
                      "name": "my-reserved-ip",
                      "owner": "provider",
                      "resource_type": "subnet_reserved_ip",
                      "target": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/ips?start=90ac13871b604023ab8b827178518328&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservedIPCollectionEndpointGatewayContext"
                }
              }
            },
            "description": "The bound reserved IPs were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway with the specified identifier could not be found."
          }
        },
        "summary": "List reserved IPs bound to an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "description": "Generated for each reserved IP in the list",
              "name": "is.subnet.reserved-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for any subnet that has reserved IPs bound to this endpoint gateway.\n(Otherwise, those reserved IPs will be omitted.)",
              "name": "is.subnet.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListEndpointGatewayIpsOptions(endpoint_gateway_id)\nreservedIPs, response, err := vpcService.ListEndpointGatewayIps(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListEndpointGatewayIpsOptions listEndpointGatewayIpsOptions = new ListEndpointGatewayIpsOptions.Builder()\n.endpointGatewayId(endpointGatewayId)\n.limit(Long.valueOf(\"1\"))\n.build();\n\nResponse<ReservedIPCollectionEndpointGatewayContext> response = service.listEndpointGatewayIps(listEndpointGatewayIpsOptions).execute();\n\nReservedIPCollectionEndpointGatewayContext reservedIpCollectionEndpointGatewayContextResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listEndpointGatewayIps({\n  endpointGatewayId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_endpoint_gateway_ips(endpoint_gateway_id)\nips = response.get_result()['ips']"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/endpointGatewayId"
        }
      ]
    },
    "/endpoint_gateways/{endpoint_gateway_id}/ips/{id}": {
      "delete": {
        "description": "This request unbinds the specified reserved IP from the specified endpoint gateway. If\nthe reserved IP has `auto_delete` set to `true`, the reserved IP will be deleted.",
        "operationId": "remove_endpoint_gateway_ip",
        "responses": {
          "204": {
            "description": "The reserved IP was successfully unbound from the endpoint gateway."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The reserved IP could not be unbound from the endpoint gateway."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified endpoint gateway or reserved IP could not be found, or the\nreserved IP is not bound to the endpoint gateway"
          }
        },
        "summary": "Unbind a reserved IP from an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.detach"
            },
            {
              "name": "is.subnet.reserved-ip.detach"
            },
            {
              "description": "Generated when the reserved IP has `auto_delete` set to `true`",
              "name": "is.subnet.reserved-ip.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.operate"
            },
            {
              "name": "is.subnet.subnet.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/ips/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := NewRemoveEndpointGatewayIPOptions(endpoint_gateway_id, id)\nresponse, err := vpcService.RemoveEndpointGatewayIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "RemoveEndpointGatewayIpOptions removeEndpointGatewayIpOptions = new RemoveEndpointGatewayIpOptions.Builder()\n  .endpointGatewayId(endpointGatewayId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.removeEndpointGatewayIp(removeEndpointGatewayIpOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.removeEndpointGatewayIp({\n  endpointGatewayId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.remove_endpoint_gateway_ip(endpoint_gateway_id, reserved_ip_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves the specified reserved IP address if it is bound to the\nendpoint gateway specified in the URL.",
        "operationId": "get_endpoint_gateway_ip",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "192.168.3.4",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "lifecycle_state": "deleting",
                  "name": "my-reserved-ip",
                  "owner": "provider",
                  "resource_type": "subnet_reserved_ip",
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservedIP"
                }
              }
            },
            "description": "The bound reserved IP was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The bound reserved IP with the specified identifier could not be found"
          }
        },
        "summary": "Retrieve a reserved IP bound to an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "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/endpoint_gateways/$endpoint_gateway_id/ips/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetEndpointGatewayIPOptions(endpoint_gateway_id, id)\nreservedIP, response, err := vpcService.GetEndpointGatewayIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetEndpointGatewayIpOptions getEndpointGatewayIpOptions = new GetEndpointGatewayIpOptions.Builder()\n  .endpointGatewayId(endpointGatewayId)\n  .id(id)\n  .build();\n\nResponse<ReservedIP> response = service.getEndpointGatewayIp(getEndpointGatewayIpOptions).execute();\nReservedIP reservedIp = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getEndpointGatewayIp({\n  endpointGatewayId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_endpoint_gateway_ip(endpoint_gateway_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/endpointGatewayId"
        },
        {
          "$ref": "#/components/parameters/reservedIPIdUnqualified"
        }
      ],
      "put": {
        "description": "This request binds the specified reserved IP to the specified endpoint gateway. The\nreserved IP:\n\n- must currently be unbound, or not required by its target\n- must not be in the same zone as any other reserved IP bound to the endpoint gateway",
        "operationId": "add_endpoint_gateway_ip",
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "address": "192.168.3.4",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "lifecycle_state": "deleting",
                  "name": "my-reserved-ip",
                  "owner": "provider",
                  "resource_type": "subnet_reserved_ip",
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservedIP"
                }
              }
            },
            "description": "The reserved IP was successfully bound to the endpoint gateway."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified reserved IP could not be bound to the endpoint gateway."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway with the specified identifier could not be found."
          }
        },
        "summary": "Bind a reserved IP to an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "description": "Generated when a reserved IP is attached to this endpoint gateway",
              "name": "is.endpoint-gateway.endpoint-gateway.attach"
            },
            {
              "description": "Generated when a reserved IP is attached to this endpoint gateway",
              "name": "is.subnet.reserved-ip.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.operate"
            },
            {
              "name": "is.subnet.subnet.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PUT \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/ips/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewAddEndpointGatewayIPOptions(endpoint_gateway_id, id)\nreservedIP, response, err := vpcService.AddEndpointGatewayIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "AddEndpointGatewayIpOptions addEndpointGatewayIpOptions = new AddEndpointGatewayIpOptions.Builder()\n  .endpointGatewayId(endpointGatewayId)\n  .id(id)\n  .build();\n\nResponse<ReservedIP> response = service.addEndpointGatewayIp(addEndpointGatewayIpOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.addEndpointGatewayIp({\n  endpointGatewayId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.add_endpoint_gateway_ip(endpoint_gateway_id, reserved_ip_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/endpoint_gateways/{endpoint_gateway_id}/resource_bindings": {
      "get": {
        "description": "This request lists resource bindings for an endpoint gateway. A resource binding is an\nassociation between the endpoint gateway and a resource in the endpoint gateway's `target`\nservice. The resource binding provides a fully qualified domain name for the\n`service_endpoint` to access the resource from the endpoint gateway's VPC.\n\nThe resource bindings will be sorted by their `created_at` property values, with newest\nresource bindings first. Resource bindings with identical `created_at` property values will\nin turn be sorted by ascending `name` property values.",
        "operationId": "list_endpoint_gateway_resource_bindings",
        "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/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings?limit=50"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=50"
                  },
                  "resource_bindings": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings/r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                      "id": "r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                      "lifecycle_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-resource-binding",
                      "resource_type": "endpoint_gateway_resource_binding",
                      "service_endpoint": "bucket-27200-lwx4cfvcue.s3.direct.us-south.cloud-object-storage.appdomain.cloud",
                      "target": {
                        "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue"
                      },
                      "type": "weak"
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/EndpointGatewayResourceBindingCollection"
                }
              }
            },
            "description": "The endpoint gateway resource bindings were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway with the specified identifier could not be found."
          }
        },
        "summary": "List resource bindings for an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.resource-binding.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.resource-binding.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/resource_bindings?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listEndpointGatewayResourceBindingsOptions := &vpcv1.ListEndpointGatewayResourceBindingsOptions{\n  EndpointGatewayID: &endpoint_gateway_id,\n}\npager, _ := vpcService.NewEndpointGatewayResourceBindingsPager(listEndpointGatewayResourceBindingsOptions)\nvar allResults []vpcv1.EndpointGatewayResourceBinding\nfor pager.HasNext() {\n  nextPage, _ := pager.GetNext()\n  allResults = append(allResults, nextPage...)\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListEndpointGatewayResourceBindingsOptions listEndpointGatewayResourceBindingsOptions =\n  new ListEndpointGatewayResourceBindingsOptions.Builder()\n    .endpointGatewayId(endpointGatewayId)\n    .build();\n\nEndpointGatewayResourceBindingsPager pager =\n  new EndpointGatewayResourceBindingsPager(vpcService, listEndpointGatewayResourceBindingsOptions);\n\nList<EndpointGatewayResourceBinding> allResults = new ArrayList<>();\nwhile (pager.hasNext()) {\n  List<EndpointGatewayResourceBinding> nextPage = pager.getNext();\n  allResults.addAll(nextPage);\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const listEndpointGatewayResourceBindingsParams = {\n  endpointGatewayId: endpointGatewayId,\n};\n\nconst allResults = [];\nconst endpointGatewayResourceBindingsPager =\n  new VpcV1.EndpointGatewayResourceBindingsPager(vpcService, listEndpointGatewayResourceBindingsParams);\n\nwhile (endpointGatewayResourceBindingsPager.hasNext()) {\n  const nextPage = await endpointGatewayResourceBindingsPager.getNext();\n  allResults.push(...nextPage);\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "endpoint_gateway_resource_bindings_pager = EndpointGatewayResourceBindingsPager(\n    client=vpc_service,\n    endpoint_gateway_id=endpoint_gateway_id,\n)\nall_results = []\nwhile endpoint_gateway_resource_bindings_pager.has_next():\n    next_page = endpoint_gateway_resource_bindings_pager.get_next()\n    all_results.extend(next_page)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/endpointGatewayId"
        }
      ],
      "post": {
        "description": "This request creates a new resource binding for an endpoint gateway from an endpoint\ngateway resource binding prototype object. The prototype object is structured in the same\nway as a retrieved endpoint gateway resource binding, and contains the information\nnecessary to create the new resource binding.\n\nFor this request to succeed, resource binding must be enabled for this endpoint gateway's\n`target` service and this endpoint gateway resource binding must not conflict with another\nresource binding in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected\ntopology.",
        "operationId": "create_endpoint_gateway_resource_binding",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-resource-binding",
                "target": {
                  "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/EndpointGatewayResourceBindingPrototype"
              }
            }
          },
          "description": "The endpoint gateway resource binding prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings/r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                  "id": "r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-resource-binding",
                  "resource_type": "endpoint_gateway_resource_binding",
                  "service_endpoint": "bucket-27200-lwx4cfvcue.s3.direct.us-south.cloud-object-storage.appdomain.cloud",
                  "target": {
                    "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue"
                  },
                  "type": "weak"
                },
                "schema": {
                  "$ref": "#/components/schemas/EndpointGatewayResourceBinding"
                }
              }
            },
            "description": "The endpoint gateway resource binding was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid endpoint gateway resource binding prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The endpoint gateway resource binding prototype object conflicts with another\nresource binding for the endpoint gateway, or it conflicts with another endpoint\ngateway resource binding in a VPC in the [DNS\nsharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected topology."
          }
        },
        "summary": "Create a resource binding for an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.resource-binding.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.resource-binding.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/resource_bindings?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-resource-binding\",\n      \"target\": {\n        \"crn\":\"crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "endpointGatewayResourceBindingTargetPrototypeModel := &vpcv1.EndpointGatewayResourceBindingTargetPrototype{\n  CRN: &endpointGatewayResourceBindingTargetCRN,\n}\n\ncreateEndpointGatewayResourceBindingOptions := vpcService.NewCreateEndpointGatewayResourceBindingOptions(\n  \"my-resource-binding\",\n  endpointGatewayResourceBindingTargetPrototypeModel,\n)\n\nendpointGatewayResourceBinding, _, _ := vpcService.CreateEndpointGatewayResourceBinding(createEndpointGatewayResourceBindingOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "EndpointGatewayResourceBindingTargetPrototypeEndpointGatewayResourceBindingTargetByCRN\n  endpointGatewayResourceBindingTargetPrototypeModel =\n    new EndpointGatewayResourceBindingTargetPrototypeEndpointGatewayResourceBindingTargetByCRN.Builder()\n      .crn(endpointGatewayResourceBindingTargetCRN)\n      .build();\n\nCreateEndpointGatewayResourceBindingOptions createEndpointGatewayResourceBindingOptions =\n  new CreateEndpointGatewayResourceBindingOptions.Builder()\n    .endpointGatewayId(endpointGatewayId)\n    .target(endpointGatewayResourceBindingTargetPrototypeModel)\n    .build();\n\nResponse<EndpointGatewayResourceBinding> createResponse =\n  vpcService.createEndpointGatewayResourceBinding(createEndpointGatewayResourceBindingOptions).execute();\nEndpointGatewayResourceBinding endpointGatewayResourceBinding = createResponse.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const endpointGatewayResourceBindingTargetPrototypeModel = {\n  crn: endpointGatewayResourceBindingTargetCRN,\n};\n\nconst createEndpointGatewayResourceBindingParams = {\n  endpointGatewayId: endpointGatewayId,\n  target: endpointGatewayResourceBindingTargetPrototypeModel,\n};\n\nconst endpointGatewayResourceBinding =\n  await vpcService.createEndpointGatewayResourceBinding(createEndpointGatewayResourceBindingParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "endpoint_gateway_resource_binding_target_prototype_model = {\n    'crn': endpoint_gateway_resource_binding_target_crn,\n}\n\nendpoint_gateway_resource_binding = vpc_service.create_endpoint_gateway_resource_binding(\n    endpoint_gateway_id=endpoint_gateway_id,\n    target=endpoint_gateway_resource_binding_target_prototype_model,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/endpoint_gateways/{endpoint_gateway_id}/resource_bindings/{id}": {
      "delete": {
        "description": "This request deletes the specified resource binding from the specified endpoint gateway.\nThis operation cannot be reversed.",
        "operationId": "delete_endpoint_gateway_resource_binding",
        "responses": {
          "204": {
            "description": "The resource binding was successfully deleted from the endpoint gateway."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway resource binding with the specified identifier could not be found."
          }
        },
        "summary": "Delete a resource binding from an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.resource-binding.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.resource-binding.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/resource_bindings/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deleteEndpointGatewayResourceBindingOptions := vpcService.NewDeleteEndpointGatewayResourceBindingOptions(\n  endpoint_gateway_id,\n  endpoint_gateway_resource_binding_id,\n)\n\nresponse, err := vpcService.DeleteEndpointGatewayResourceBinding(deleteEndpointGatewayResourceBindingOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteEndpointGatewayResourceBindingOptions deleteEndpointGatewayResourceBindingOptions =\n  new DeleteEndpointGatewayResourceBindingOptions.Builder()\n    .endpointGatewayId(endpointGatewayId)\n    .id(endpointGatewayResourceBindingId)\n    .build();\n\nResponse<Void> deleteResponse =\n  vpcService.deleteEndpointGatewayResourceBinding(deleteEndpointGatewayResourceBindingOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const deleteEndpointGatewayResourceBindingParams = {\n  endpointGatewayId: endpointGatewayId,\n  id: endpointGatewayResourceBindingId,\n};\n\nconst response =\n  await vpcService.deleteEndpointGatewayResourceBinding(deleteEndpointGatewayResourceBindingParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.delete_endpoint_gateway_resource_binding(\n    endpoint_gateway_id=endpoint_gateway_id,\n    id=endpoint_gateway_resource_binding_id,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single endpoint gateway resource binding specified by the\nidentifier in the URL.",
        "operationId": "get_endpoint_gateway_resource_binding",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings/r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                  "id": "r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-resource-binding",
                  "resource_type": "endpoint_gateway_resource_binding",
                  "service_endpoint": "bucket-27200-lwx4cfvcue.s3.direct.us-south.cloud-object-storage.appdomain.cloud",
                  "target": {
                    "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue"
                  },
                  "type": "weak"
                },
                "schema": {
                  "$ref": "#/components/schemas/EndpointGatewayResourceBinding"
                }
              }
            },
            "description": "The endpoint gateway resource binding was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway resource binding with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an endpoint gateway resource binding",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.resource-binding.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.resource-binding.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/resource_bindings/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getEndpointGatewayResourceBindingOptions := vpcService.NewGetEndpointGatewayResourceBindingOptions(\n  endpoint_gateway_id,\n  endpoint_gateway_resource_binding_id,\n)\nendpointGatewayResourceBinding, _, _ := vpcService.GetEndpointGatewayResourceBinding(getEndpointGatewayResourceBindingOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetEndpointGatewayResourceBindingOptions getEndpointGatewayResourceBindingOptions =\n  new GetEndpointGatewayResourceBindingOptions.Builder()\n    .endpointGatewayId(endpointGatewayId)\n    .id(endpointGatewayResourceBindingId)\n    .build();\n\nResponse<EndpointGatewayResourceBinding> getResponse =\n  vpcService.getEndpointGatewayResourceBinding(getEndpointGatewayResourceBindingOptions).execute();\nEndpointGatewayResourceBinding endpointGatewayResourceBinding = getResponse.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const getEndpointGatewayResourceBindingParams = {\n  endpointGatewayId: endpointGatewayId,\n  id: endpointGatewayResourceBindingId,\n};\n\nconst endpointGatewayResourceBinding =\n  await vpcService.getEndpointGatewayResourceBinding(getEndpointGatewayResourceBindingParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "endpoint_gateway_resource_binding = vpc_service.get_endpoint_gateway_resource_binding(\n    endpoint_gateway_id=endpoint_gateway_id,\n    id=endpoint_gateway_resource_binding_id,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/endpointGatewayId"
        },
        {
          "$ref": "#/components/parameters/endpointGatewayResourceBindingIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an endpoint gateway resource binding with the information in a\nprovided endpoint gateway resource binding patch. The endpoint gateway resource binding\npatch object is structured in the same way as a retrieved endpoint gateway resource binding\nand contains only the information to be updated.",
        "operationId": "update_endpoint_gateway_resource_binding",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-resource-binding-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/EndpointGatewayResourceBindingPatch"
              }
            }
          },
          "description": "The endpoint gateway resource binding patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings/r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                  "id": "r006-a7ba95b6-a254-47e4-b129-10593df8a373",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-resource-binding",
                  "resource_type": "endpoint_gateway_resource_binding",
                  "service_endpoint": "bucket-27200-lwx4cfvcue.s3.direct.us-south.cloud-object-storage.appdomain.cloud",
                  "target": {
                    "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue"
                  },
                  "type": "weak"
                },
                "schema": {
                  "$ref": "#/components/schemas/EndpointGatewayResourceBinding"
                }
              }
            },
            "description": "The endpoint gateway resource binding was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid endpoint gateway resource binding patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway resource binding with the specified identifier could not be\nfound."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The endpoint gateway resource binding patch conflicts with another resource binding in\nthe endpoint gateway."
          }
        },
        "summary": "Update an endpoint gateway resource binding",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.resource-binding.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.resource-binding.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id/resource_bindings/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-resource-binding-updated\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "endpointGatewayResourceBindingPatchModel := &vpcv1.EndpointGatewayResourceBindingPatch{}\nendpointGatewayResourceBindingPatchModel.Name = core.StringPtr(\"my-resource-binding-updated\")\nendpointGatewayResourceBindingPatchModelAsPatch, _ := endpointGatewayResourceBindingPatchModel.AsPatch()\n\nupdateEndpointGatewayResourceBindingOptions := vpcService.NewUpdateEndpointGatewayResourceBindingOptions(\n  endpoint_gateway_id,\n  endpoint_gateway_resource_binding_id,\n  endpointGatewayResourceBindingPatchModelAsPatch,\n)\nendpointGatewayResourceBinding, response, err := vpcService.UpdateEndpointGatewayResourceBinding(updateEndpointGatewayResourceBindingOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "EndpointGatewayResourceBindingPatch endpointGatewayResourceBindingPatchModel =\n  new EndpointGatewayResourceBindingPatch.Builder()\n    .name(\"my-resource-binding-updated\")\n    .build();\n\nMap<String, Object> endpointGatewayResourceBindingPatchModelAsPatch =\n  endpointGatewayResourceBindingPatchModel.asPatch();\n\nUpdateEndpointGatewayResourceBindingOptions updateEndpointGatewayResourceBindingOptions =\n  new UpdateEndpointGatewayResourceBindingOptions.Builder()\n    .endpointGatewayId(endpointGatewayId)\n    .id(endpointGatewayResourceBindingId)\n    .endpointGatewayResourceBindingPatch(endpointGatewayResourceBindingPatchModelAsPatch)\n    .build();\n\nResponse<EndpointGatewayResourceBinding> updateResponse =\n  vpcService.updateEndpointGatewayResourceBinding(updateEndpointGatewayResourceBindingOptions).execute();\nEndpointGatewayResourceBinding endpointGatewayResourceBinding = updateResponse.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const endpointGatewayResourceBindingPatchModel = {\n  name: 'my-resource-binding-updated',\n};\n\nconst updateEndpointGatewayResourceBindingParams = {\n  endpointGatewayId: endpointGatewayId,\n  id: endpointGatewayResourceBindingId,\n  endpointGatewayResourceBindingPatch: endpointGatewayResourceBindingPatchModel,\n};\n\nconst endpointGatewayResourceBinding =\n  await vpcService.updateEndpointGatewayResourceBinding(updateEndpointGatewayResourceBindingParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "endpoint_gateway_resource_binding_patch_model = {\n    'name': 'my-resource-binding-updated',\n}\n\nendpoint_gateway_resource_binding = vpc_service.update_endpoint_gateway_resource_binding(\n    endpoint_gateway_id=endpoint_gateway_id,\n    id=endpoint_gateway_resource_binding_id,\n    endpoint_gateway_resource_binding_patch=endpoint_gateway_resource_binding_patch_model,\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/endpoint_gateways/{id}": {
      "delete": {
        "description": "This request deletes an endpoint gateway. This operation cannot be reversed.\n\nReserved IPs that were bound to the endpoint gateway will be released if their\n`auto_delete` property is set to true.\n\nIf the VPC this endpoint gateway resides in has `dns.enable_hub` set to `true`, then\nno other VPC in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) topology must\ncontain an endpoint gateway with the same `target` service as this endpoint gateway.",
        "operationId": "delete_endpoint_gateway",
        "responses": {
          "204": {
            "description": "The endpoint gateway was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The endpoint gateway cannot be deleted because it is required by another endpoint\ngateway in a VPC in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected\ntopology."
          }
        },
        "summary": "Delete an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.delete"
            },
            {
              "description": "Generated for each reserved IP in `ips`.",
              "name": "is.subnet.reserved-ip.detach"
            },
            {
              "description": "Generated for each resource being detached from the endpoint\ngateway (such as a security group)",
              "name": "is.endpoint-gateway.endpoint-gateway.detach"
            },
            {
              "description": "Generated for each reserved IP in `ips` for which `auto_delete` is `true`",
              "name": "is.subnet.reserved-ip.delete"
            },
            {
              "description": "Generated for each security group in `security_groups`.",
              "name": "is.security-group.security-group.detach"
            },
            {
              "description": "Generated when the target is a private path service gateway",
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeleteEndpointGatewayOptions(id)\nresponse, err := vpcService.DeleteEndpointGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteEndpointGatewayOptions deleteEndpointGatewayOptions = new DeleteEndpointGatewayOptions.Builder()\n.id(id)\n.build();\n\nResponse<Void> response = service.deleteEndpointGateway(deleteEndpointGatewayOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteEndpointGateway({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_endpoint_gateway(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single endpoint gateway specified by the identifier in the URL.",
        "operationId": "get_endpoint_gateway",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                  "dns_resolution_binding_mode": "disabled",
                  "health_state": "degraded",
                  "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "lifecycle_reasons": [
                    {
                      "code": "access_denied",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-endpoint-gateway",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "endpoint_gateway",
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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_endpoint": "my-cloudant-instance.appdomain.cloud",
                  "service_endpoints": [
                    "my-cloudant-instance.appdomain.cloud"
                  ],
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "ibm-ntp-server",
                    "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": "private_path_service_gateway"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/EndpointGateway"
                }
              }
            },
            "description": "The endpoint gateway was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetEndpointGatewayOptions(id)\nendpointGateway, response, err := vpcService.GetEndpointGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetEndpointGatewayOptions getEndpointGatewayOptions = new GetEndpointGatewayOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<EndpointGateway> response = service.getEndpointGateway(getEndpointGatewayOptions).execute();\nEndpointGateway endpointGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getEndpointGateway({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_endpoint_gateway(id)\nif response.status_code == 200:\n    endpoint_gateway = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/endpointGatewayIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an endpoint gateway with the information in a provided endpoint\ngateway patch. The endpoint gateway patch object is structured in the same way as a\nretrieved endpoint gateway and contains only the information to be updated.",
        "operationId": "update_endpoint_gateway",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "dns_resolution_binding_mode": "disabled",
                "name": "my-endpoint-gateway"
              },
              "schema": {
                "$ref": "#/components/schemas/EndpointGatewayPatch"
              }
            }
          },
          "description": "The endpoint gateway patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                  "dns_resolution_binding_mode": "disabled",
                  "health_state": "degraded",
                  "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "lifecycle_reasons": [
                    {
                      "code": "access_denied",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-endpoint-gateway",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "endpoint_gateway",
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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_endpoint": "my-cloudant-instance.appdomain.cloud",
                  "service_endpoints": [
                    "my-cloudant-instance.appdomain.cloud"
                  ],
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "ibm-ntp-server",
                    "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": "private_path_service_gateway"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/EndpointGateway"
                }
              }
            },
            "description": "The endpoint gateway was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid endpoint gateway 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 endpoint gateway patch object specified a `dns_resolution_binding_mode` value\nthat conflicts with the `dns.enable_hub` value of the VPC this endpoint gateway\nresides in, or would result in a configuration that conflicts with an endpoint\ngateway in a VPC in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected\ntopology."
          }
        },
        "summary": "Update an endpoint gateway",
        "tags": [
          "Endpoint gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.endpoint-gateway.endpoint-gateway.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/endpoint_gateways/$endpoint_gateway_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\":\"my-endpoint-gateway-1-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateEndpointGatewayOptions{\n  EndpointGatewayID:        &id,\n  Name:                     &name,\n}\nendpointGateway, response, err := vpcService.UpdateEndpointGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateEndpointGatewayOptions updateEndpointGatewayOptions = new UpdateEndpointGatewayOptions.Builder()\n  .id(id)\n  .name(\"my-endpoint-gateway\")\n  .build();\n\nResponse<EndpointGateway> response = service.updateEndpointGateway(updateEndpointGatewayOptions).execute();\nEndpointGateway endpointGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateEndpointGateway({\n  id,\n  name: 'my-endpoint-gateway'\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "endpoint_gateway_patch_model = {\n    'name': 'my-endpoint-gateway-updated'\n}\nresponse = service.update_endpoint_gateway(id, endpoint_gateway_patch=endpoint_gateway_patch_model)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/floating_ips": {
      "get": {
        "description": "This request lists floating IPs in the region. Floating IPs allow inbound and outbound\ntraffic from the Internet to an instance.",
        "operationId": "list_floating_ips",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/sort"
          },
          {
            "$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/floating_ips?limit=20"
                  },
                  "floating_ips": [
                    {
                      "address": "203.0.113.1",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "my-resource-group"
                      },
                      "status": "available",
                      "target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "resource_type": "subnet_reserved_ip"
                        },
                        "resource_type": "network_interface"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/floating_ips?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/FloatingIPCollection"
                }
              }
            },
            "description": "The floating IPs were retrieved successfully."
          }
        },
        "summary": "List floating IPs",
        "tags": [
          "Floating IPs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.floating-ip.floating-ip.list"
            },
            {
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/floating_ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listFloatingIpsOptions := vpcService.NewListFloatingIpsOptions()\nfloatingIPs, response, err :=\n  vpcService.ListFloatingIps(listFloatingIpsOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListFloatingIpsOptions listFloatingIpsOptions = new ListFloatingIpsOptions.Builder()\n.limit(Long.valueOf(\"10\"))\n.build();\n\nResponse<FloatingIPCollection> response = service.listFloatingIps(listFloatingIpsOptions).execute();\nFloatingIPCollection floatingIpCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listFloatingIps();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_floating_ips()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request reserves a new floating IP.",
        "operationId": "create_floating_ip",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-floating-ip",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/FloatingIPPrototype"
              }
            }
          },
          "description": "The floating IP prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "address": "203.0.113.1",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "status": "available",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    },
                    "resource_type": "network_interface"
                  },
                  "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/FloatingIP"
                }
              }
            },
            "description": "The floating IP was reserved successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid floating IP prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP prototype object conflicts with another floating IP in the\nregion, or the specified target already has a floating IP bound to it."
          }
        },
        "summary": "Reserve a floating IP",
        "tags": [
          "Floating IPs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.floating-ip.floating-ip.create"
            },
            {
              "description": "Generated when `target` is specified",
              "name": "is.floating-ip.floating-ip.attach"
            },
            {
              "description": "Generated when `target` specifies an instance network interface",
              "name": "is.instance.network-interface.attach"
            },
            {
              "description": "Generated when `target` specifies a bare metal server network interface",
              "name": "is.bare-metal-server.network-interface.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.floating-ip.floating-ip.create"
            },
            {
              "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 an instance network interface",
              "name": "is.instance.instance.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/floating_ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-floating-ip-1\",\n      \"target\": {\n        \"id\": \"0717-54eb57ee-86f2-4796-90bb-d7874e0831ef\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateFloatingIPOptions{}\noptions.SetFloatingIPPrototype(&vpcv1.FloatingIPPrototype{\n  Name: &name,\n  Zone: &vpcv1.ZoneIdentity{\n    Name: &zone,\n  },\n})\nfloatingIP, response, err := vpcService.CreateFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ResourceGroupIdentityById resourceGroupIdentityModel = new ResourceGroupIdentityById.Builder()\n.id(resourceGroupId)\n.build();\n\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n.name(zoneName)\n.build();\n\nFloatingIPPrototypeFloatingIPByZone floatingIpPrototypeModel = new FloatingIPPrototypeFloatingIPByZone.Builder()\n.name(\"my-floating-ip\")\n.resourceGroup(resourceGroupIdentityModel)\n.zone(zoneIdentityModel)\n.build();\n\nCreateFloatingIpOptions createFloatingIpOptions = new CreateFloatingIpOptions.Builder()\n.floatingIpPrototype(floatingIpPrototypeModel)\n.build();\n\nResponse<FloatingIP> response = service.createFloatingIp(createFloatingIpOptions).execute();\n\nFloatingIP floatingIpResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  floatingIpPrototype: {\n    name: 'my-floating-ip',\n    zone: zoneName,\n  },\n};\nconst response = await vpcService.createFloatingIp(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "resource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nzone_identity_model = {}\nzone_identity_model['name'] = zoneName\n\nfloating_ip_prototype_model = {}\nfloating_ip_prototype_model['name'] = my-floating_ip\nfloating_ip_prototype_model[\n    'resource_group'] = resource_group_identity_model\nfloating_ip_prototype_model['zone'] = zone_identity_model\n\nfloating_ip_prototype = floating_ip_prototype_model\n\nresponse = service.create_floating_ip(floating_ip_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/floating_ips/{id}": {
      "delete": {
        "description": "This request disassociates (if associated) and releases a floating IP. This operation\ncannot be reversed. For this request to succeed, the floating IP must not be required\nby another resource, such as a public gateway.",
        "operationId": "delete_floating_ip",
        "responses": {
          "204": {
            "description": "The floating IP was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified floating IP could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP is in use and cannot be deleted."
          }
        },
        "summary": "Delete a floating IP",
        "tags": [
          "Floating IPs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.floating-ip.floating-ip.delete"
            },
            {
              "description": "Generated for a floating IP that was attached",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated for a floating IP that was attached to a bare metal server network\ninterface",
              "name": "is.bare-metal-server.network-interface.detach"
            },
            {
              "description": "Generated for a floating IP that was attached to an instance network interface",
              "name": "is.instance.network-interface.detach"
            },
            {
              "description": "Generated for a floating IP that was attached to a virtual network interface",
              "name": "is.virtual-network-interface.virtual-network-interface.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.floating-ip.floating-ip.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeleteFloatingIPOptions(id)\nresponse, err = vpcService.DeleteFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteFloatingIpOptions deleteFloatingIpOptions = new DeleteFloatingIpOptions.Builder()\n.id(id)\n.build();\n\nResponse<Void> response = service.deleteFloatingIp(deleteFloatingIpOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteFloatingIp({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_floating_ip(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single floating IP specified by the identifier in the URL.",
        "operationId": "get_floating_ip",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "203.0.113.1",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "status": "available",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    },
                    "resource_type": "network_interface"
                  },
                  "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/FloatingIP"
                }
              }
            },
            "description": "The floating IP was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified floating IP could not be found."
          }
        },
        "summary": "Retrieve a floating IP",
        "tags": [
          "Floating IPs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetFloatingIPOptions(id)\nfloatingIP, response, err = vpcService.GetFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetFloatingIpOptions getFloatingIpOptions = new GetFloatingIpOptions.Builder()\n.id(id)\n.build();\n\nResponse<FloatingIP> response = service.getFloatingIp(getFloatingIpOptions).execute();\n\nFloatingIP floatingIpResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getFloatingIp({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_floating_ip(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/floatingIPIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a floating IP's name and/or target.",
        "operationId": "update_floating_ip",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-floating-ip",
                "target": {
                  "id": "0717-da8c43ec-b6ca-4bd2-871e-72e288c66ee6"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/FloatingIPPatch"
              }
            }
          },
          "description": "The floating IP patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "203.0.113.1",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "status": "available",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    },
                    "resource_type": "network_interface"
                  },
                  "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/FloatingIP"
                }
              }
            },
            "description": "The floating IP was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid floating IP patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A floating IP with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP is required by another resource, or the specified target already\nhas a floating IP bound to it."
          }
        },
        "summary": "Update a floating IP",
        "tags": [
          "Floating IPs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.floating-ip.floating-ip.update"
            },
            {
              "description": "Generated when `target` is specified",
              "name": "is.floating-ip.floating-ip.attach"
            },
            {
              "description": "Generated when an existing target is replaced",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated when `target` specifies a bare metal server network interface",
              "name": "is.bare-metal-server.network-interface.attach"
            },
            {
              "description": "Generated when an existing bare metal server network interface target is replaced",
              "name": "is.bare-metal-server.network-interface.detach"
            },
            {
              "description": "Generated when `target` specifies an instance network interface",
              "name": "is.instance.network-interface.attach"
            },
            {
              "description": "Generated when an existing instance network interface target is replaced",
              "name": "is.instance.network-interface.detach"
            },
            {
              "description": "Generated when `target` specifies a virtual network interface",
              "name": "is.virtual-network-interface.virtual-network-interface.attach"
            },
            {
              "description": "Generated when an existing virtual network interface target is replaced",
              "name": "is.virtual-network-interface.virtual-network-interface.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.floating-ip.floating-ip.update"
            },
            {
              "description": "Required when `target` is specified",
              "name": "is.floating-ip.floating-ip.operate"
            },
            {
              "description": "Required when `target` is changed to or from a bare metal server network interface",
              "name": "is.bare-metal-server.bare-metal-server.operate"
            },
            {
              "description": "Required when `target` is changed to or from an instance network interface",
              "name": "is.instance.instance.operate"
            },
            {
              "description": "Required when `target` is changed to or from 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 PATCH \\\n\"$vpc_api_endpoint/v1/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-floating-ip-1\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateFloatingIPOptions{\n  ID:   &id,\n  Name: &name,\n}\noptions.SetTarget(&vpcv1.NetworkInterfaceIdentity{\n  ID: &targetId,\n})\nfloatingIPs, response, err := vpcService.UpdateFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "FloatingIPPatchTargetNetworkInterfaceIdentityNetworkInterfaceIdentityById floatingIpPatchTargetNetworkInterfaceIdentityModel = new FloatingIPPatchTargetNetworkInterfaceIdentityNetworkInterfaceIdentityById.Builder()\n.id(targetId)\n.build();\n\nUpdateFloatingIpOptions updateFloatingIpOptions = new UpdateFloatingIpOptions.Builder()\n.id(id)\n.name(\"my-floating-ip\")\n.target(floatingIpPatchTargetNetworkInterfaceIdentityModel)\n.build();\n\nResponse<FloatingIP> response = service.updateFloatingIp(updateFloatingIpOptions).execute();\n\nFloatingIP floatingIpResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateFloatingIp({\n  id,\n  name: 'my-floating-ip',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "network_interface_identity_model = {}\nnetwork_interface_identity_model['id'] = network_interface_id\ntarget = network_interface_identity_model\n\nname = 'my-floating_ip'\nresponse = service.update_floating_ip(\n    id,\n    name=name,\n    target=target,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/flow_log_collectors": {
      "get": {
        "description": "This request lists flow log collectors in the region. A [flow log\ncollector](https://cloud.ibm.com/docs/vpc?topic=vpc-flow-logs) summarizes TCP and UDP\ndata sent over the instance network interfaces and instance network attachments contained\nwithin its target. The collected flow logs are written to a cloud object storage bucket,\nwhere they can be [viewed](https://cloud.ibm.com/docs/vpc?topic=vpc-fl-analyze).",
        "operationId": "list_flow_log_collectors",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/vpc"
          },
          {
            "$ref": "#/components/parameters/vpcByCRN"
          },
          {
            "$ref": "#/components/parameters/vpcByName"
          },
          {
            "$ref": "#/components/parameters/target"
          },
          {
            "$ref": "#/components/parameters/targetByResourceType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors?limit=20"
                  },
                  "flow_log_collectors": [
                    {
                      "active": true,
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "deleting",
                      "name": "my-flow-log-collector",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "storage_bucket": {
                        "name": "bucket-27200-lwx4cfvcue"
                      },
                      "target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/flow_log_collectors?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/FlowLogCollectorCollection"
                }
              }
            },
            "description": "The flow log collectors were retrieved successfully."
          }
        },
        "summary": "List flow log collectors",
        "tags": [
          "Flow log collectors"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.flow-log-collector.flow-log-collector.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.flow-log-collector.flow-log-collector.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/flow_log_collectors?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListFlowLogCollectorsOptions{}\nflowLogs, response, err = vpcService.ListFlowLogCollectors(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListFlowLogCollectorsOptions listFlowLogCollectorsOptions = new ListFlowLogCollectorsOptions.Builder()\n.limit(Long.valueOf(\"10\"))\n.build();\n\nResponse<FlowLogCollectorCollection> response = service.listFlowLogCollectors(listFlowLogCollectorsOptions).execute();\n\nFlowLogCollectorCollection flowLogCollectorCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listFlowLogCollectors();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_flow_log_collectors()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates and starts a new flow log collector from a flow log collector\nprototype object. The prototype object is structured in the same way as a retrieved\nflow log collector, and contains the information necessary to create and start the new\nflow log collector.",
        "operationId": "create_flow_log_collector",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "active": true,
                "name": "my-flow-log-collector",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "storage_bucket": {
                  "name": "bucket-27200-lwx4cfvcue"
                },
                "target": {
                  "id": "0717-d54eb633-98ea-459d-aa00-6a8e780175a7"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/FlowLogCollectorPrototype"
              }
            }
          },
          "description": "The flow log collector prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-flow-log-collector",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "storage_bucket": {
                    "name": "bucket-27200-lwx4cfvcue"
                  },
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/FlowLogCollector"
                }
              }
            },
            "description": "The flow log collector was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid flow log collector prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The flow log collector prototype object conflicts with another flow log collector\nin the VPC, or the specified target is in use by another flow log collector."
          }
        },
        "summary": "Create a flow log collector",
        "tags": [
          "Flow log collectors"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.flow-log-collector.flow-log-collector.create"
            },
            {
              "name": "is.flow-log-collector.flow-log-collector.attach"
            },
            {
              "description": "Generated when `target` specifies a virtual server instance",
              "name": "is.instance.instance.attach"
            },
            {
              "description": "Generated when `target` specifies an instance network attachment",
              "name": "is.instance.network-attachment.attach"
            },
            {
              "description": "Generated when `target` specifies an instance network interface",
              "name": "is.instance.network-interface.attach"
            },
            {
              "description": "Generated when `target` specifies a subnet",
              "name": "is.subnet.subnet.attach"
            },
            {
              "description": "Generated when `target` specifies a virtual network interface",
              "name": "is.virtual-network-interface.virtual-network-interface.attach"
            },
            {
              "description": "Generated when `target` specifies a VPC",
              "name": "is.vpc.vpc.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.flow-log-collector.flow-log-collector.create"
            },
            {
              "description": "Required when `target` specifies a VPC",
              "name": "is.vpc.vpc.operate"
            },
            {
              "description": "Required when `target` specifies a subnet",
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required when `target` specifies an instance, instance network attachment or\ninstance network interface",
              "name": "is.instance.instance.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/flow_log_collectors?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-flow-log-collector-1\",\n      \"target\": {\n        \"id\": \"0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930\"\n      },\n      \"storage_bucket\": {\n        \"name\": \"bucket-27200-lwx4cfvcue\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateFlowLogCollectorOptions{}\noptions.SetName(name)\noptions.SetTarget(&vpcv1.FlowLogCollectorPrototypeTargetVPCIdentity{\n  ID: &vpcId,\n})\noptions.SetStorageBucket(&vpcv1.CloudObjectStorageBucketIdentity{\n  Name: &bucketName,\n})\nflowLog, response, err = vpcService.CreateFlowLogCollector(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CloudObjectStorageBucketIdentityByName cloudObjectStorageBucketIdentityModel = new CloudObjectStorageBucketIdentityByName.Builder()\n.name(cosBucketName)\n.build();\n\nFlowLogCollectorPrototypeTargetNetworkInterfaceIdentityNetworkInterfaceIdentityNetworkInterfaceIdentityById flowLogCollectorPrototypeTargetModel = new FlowLogCollectorPrototypeTargetNetworkInterfaceIdentityNetworkInterfaceIdentityNetworkInterfaceIdentityById.Builder()\n.id(targetNetworkInterfaceId)\n.build();\n\nCreateFlowLogCollectorOptions createFlowLogCollectorOptions = new CreateFlowLogCollectorOptions.Builder()\n.storageBucket(cloudObjectStorageBucketIdentityModel)\n.target(flowLogCollectorPrototypeTargetModel)\n.name(\"my-flow-log-collector\")\n.build();\n\nResponse<FlowLogCollector> response = service.createFlowLogCollector(createFlowLogCollectorOptions).execute();\n\nFlowLogCollector flowLogCollectorResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const cloudObjectStorageBucketIdentityModel = {\n    name: bucketName,\n  };\n\nconst flowLogCollectorPrototypeTargetModel = {\n    id: subnetID\n  };\n\nconst params = {\n  storageBucket: cloudObjectStorageBucketIdentityModel,\n  target: flowLogCollectorPrototypeTargetModel,\n  name: 'my-flow-log-collector',\n};\nconst response = await vpcService.createFlowLogCollector(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cloud_object_storage_bucket_identity_model = {}\ncloud_object_storage_bucket_identity_model['name'] = my-cos-bucket\n\nflow_log_collector_prototype_target_model = {}\nflow_log_collector_prototype_target_model['id'] = target_id\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nstorage_bucket = cloud_object_storage_bucket_identity_model\ntarget = flow_log_collector_prototype_target_model\nactive = False\nname = 'my-flow-log-collector'\nresource_group = resource_group_identity_model\n\nresponse = service.create_flow_log_collector(\n    storage_bucket,\n    target,\n    active=active,\n    name=name,\n    resource_group=resource_group,\n    )"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/flow_log_collectors/{id}": {
      "delete": {
        "description": "This request stops and deletes a flow log collector. This operation cannot be reversed.\n\nCollected flow logs remain available within the flow log collector's Cloud Object Storage\nbucket.",
        "operationId": "delete_flow_log_collector",
        "responses": {
          "204": {
            "description": "The flow log collector was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified flow log collector could not be found."
          }
        },
        "summary": "Delete a flow log collector",
        "tags": [
          "Flow log collectors"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.flow-log-collector.flow-log-collector.delete"
            },
            {
              "name": "is.flow-log-collector.flow-log-collector.detach"
            },
            {
              "description": "Generated for a flow log collector that was attached to an instance",
              "name": "is.instance.instance.detach"
            },
            {
              "description": "Generated for a flow log collector that was attached to an instance network\ninterface",
              "name": "is.instance.network-interface.detach"
            },
            {
              "description": "Generated for a flow log collector that was attached to an instance network\nattachment",
              "name": "is.instance.network-attachment.detach"
            },
            {
              "description": "Generated for a flow log collector that was attached to a subnet",
              "name": "is.subnet.subnet.detach"
            },
            {
              "description": "Generated for a flow log collector that was attached to a virtual network interface",
              "name": "is.virtual-network-interface.virtual-network-interface.detach"
            },
            {
              "description": "Generated for a flow log collector that was attached to a VPC",
              "name": "is.vpc.vpc.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.flow-log-collector.flow-log-collector.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/flow_log_collectors/$flow_log_collector_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteFlowLogCollectorOptions{}\noptions.SetID(id)\nresponse, err = vpcService.DeleteFlowLogCollector(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteFlowLogCollectorOptions deleteFlowLogCollectorOptions = new DeleteFlowLogCollectorOptions.Builder()\n.id(id)\n.build();\n\nResponse<Void> response = service.deleteFlowLogCollector(deleteFlowLogCollectorOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteFlowLogCollector({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_flow_log_collector(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single flow log collector specified by the identifier in the URL.",
        "operationId": "get_flow_log_collector",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-flow-log-collector",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "storage_bucket": {
                    "name": "bucket-27200-lwx4cfvcue"
                  },
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/FlowLogCollector"
                }
              }
            },
            "description": "The flow log collector was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified flow log collector could not be found."
          }
        },
        "summary": "Retrieve a flow log collector",
        "tags": [
          "Flow log collectors"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.flow-log-collector.flow-log-collector.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.flow-log-collector.flow-log-collector.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/flow_log_collectors/$flow_log_collector_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetFlowLogCollectorOptions{}\noptions.SetID(id)\nflowLog, response, err = vpcService.GetFlowLogCollector(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetFlowLogCollectorOptions getFlowLogCollectorOptions = new GetFlowLogCollectorOptions.Builder()\n.id(id)\n.build();\n\nResponse<FlowLogCollector> response = service.getFlowLogCollector(getFlowLogCollectorOptions).execute();\n\nFlowLogCollector flowLogCollectorResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getFlowLogCollector({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_flow_log_collector(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/flowLogCollectorIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a flow log collector with the information in a provided flow log\ncollector patch. The flow log collector patch object is structured in the same way as a\nretrieved flow log collector and contains only the information to be updated.",
        "operationId": "update_flow_log_collector",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "active": true,
                "name": "my-flow-log-collector"
              },
              "schema": {
                "$ref": "#/components/schemas/FlowLogCollectorPatch"
              }
            }
          },
          "description": "The flow log collector patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-flow-log-collector",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "storage_bucket": {
                    "name": "bucket-27200-lwx4cfvcue"
                  },
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/FlowLogCollector"
                }
              }
            },
            "description": "The flow log collector was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid flow log collector patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A flow log collector with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The flow log collector patch conflicts with another flow log collector in the VPC."
          }
        },
        "summary": "Update a flow log collector",
        "tags": [
          "Flow log collectors"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.flow-log-collector.flow-log-collector.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.flow-log-collector.flow-log-collector.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/flow_log_collectors/$flow_log_collector_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-flow-log-collector-1\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateFlowLogCollectorOptions{}\noptions.SetID(id)\noptions.SetName(name)\nflowLog, response, err = vpcService.UpdateFlowLogCollector(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateFlowLogCollectorOptions updateFlowLogCollectorOptions = new UpdateFlowLogCollectorOptions.Builder()\n.id(id)\n.name(\"my-flow-log-collector\")\n.active(true)\n.build();\n\nResponse<FlowLogCollector> response = service.updateFlowLogCollector(updateFlowLogCollectorOptions).execute();\n\nFlowLogCollector flowLogCollectorResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateFlowLogCollector({\n  id,\n  name: 'my-flow-log-collector',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_flow_log_collector(id,\n      active=True,\n      name='my-flow-log-collector')"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/ike_policies": {
      "get": {
        "description": "This request lists IKE policies in the region.",
        "operationId": "list_ike_policies",
        "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/ike_policies?limit=20"
                  },
                  "ike_policies": [
                    {
                      "authentication_algorithm": "md5",
                      "authentication_algorithms": [
                        "sha256"
                      ],
                      "connections": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "2026-01-02T03:04:05.006Z",
                      "dh_group": 14,
                      "dh_groups": [
                        14
                      ],
                      "encryption_algorithm": "aes128",
                      "encryption_algorithms": [
                        "aes128"
                      ],
                      "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": "my-resource-group"
                      },
                      "resource_type": "ike_policy"
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/IKEPolicyCollection"
                }
              }
            },
            "description": "The IKE policies were retrieved successfully."
          }
        },
        "summary": "List IKE policies",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ike-policy.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/ike_policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListIkePoliciesOptions()\nikePolicies, response, err = vpcService.ListIkePolicies(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListIkePoliciesOptions listIkePoliciesOptions = new ListIkePoliciesOptions.Builder()\n.limit(Long.valueOf(\"10\"))\n.build();\n\nResponse<IKEPolicyCollection> response = service.listIkePolicies(listIkePoliciesOptions).execute();\n\nIKEPolicyCollection ikePolicyCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listIkePolicies();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_ike_policies()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new IKE policy.",
        "operationId": "create_ike_policy",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "authentication_algorithm": "sha256",
                "authentication_algorithms": [
                  "sha256"
                ],
                "dh_group": 14,
                "dh_groups": [
                  14
                ],
                "encryption_algorithm": "aes128",
                "encryption_algorithms": [
                  "aes128"
                ],
                "ike_version": 1,
                "key_lifetime": 28800,
                "name": "my-ike-policy",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/IKEPolicyPrototype"
              }
            }
          },
          "description": "The IKE policy prototype object.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "authentication_algorithm": "md5",
                  "authentication_algorithms": [
                    "sha256"
                  ],
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "dh_group": 14,
                  "dh_groups": [
                    14
                  ],
                  "encryption_algorithm": "aes128",
                  "encryption_algorithms": [
                    "aes128"
                  ],
                  "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": "my-resource-group"
                  },
                  "resource_type": "ike_policy"
                },
                "schema": {
                  "$ref": "#/components/schemas/IKEPolicy"
                }
              }
            },
            "description": "The IKE policy was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid IKE policy prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The IKE policy prototype object conflicts with another IKE policy in the region."
          }
        },
        "summary": "Create an IKE policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ike-policy.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/ike_policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"authentication_algorithm\": \"sha256\",\n      \"dh_group\": 14,\n      \"encryption_algorithm\": \"aes256\",\n      \"ike_version\": 1,\n      \"key_lifetime\": 28800,\n      \"name\": \"my-ike-policy-1\",\n      \"resource_group\": {\n        \"id\": \"4bbce614c13444cd8fc5e7e878ef8e21\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateIkePolicyOptions{}\noptions.SetName(name)\noptions.SetAuthenticationAlgorithm(\"sha256\")\noptions.SetDhGroup(14)\noptions.SetEncryptionAlgorithm(\"aes256\")\noptions.SetIkeVersion(1)\nikePolicy, response, err := vpcService.CreateIkePolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateIkePolicyOptions createIkePolicyOptions = new CreateIkePolicyOptions.Builder()\n.authenticationAlgorithm(\"sha256\")\n.dhGroup(Long.valueOf(\"14\"))\n.encryptionAlgorithm(\"aes256\")\n.ikeVersion(Long.valueOf(\"1\"))\n.name(\"my-ike-policy\")\n.build();\n\nResponse<IKEPolicy> response = service.createIkePolicy(createIkePolicyOptions).execute();\n\nIKEPolicy ikePolicyResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  authenticationAlgorithm: 'sha256',\n  dhGroup: 14,\n  encryptionAlgorithm: 'aes256',\n  ikeVersion: 1,\n  name: 'my-ike-policy',\n};\nconst response = await vpcService.createIkePolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "resource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nauthentication_algorithm = 'sha256'\ndh_group = 14\nencryption_algorithm = 'aes256'\nike_version = 1\nkey_lifetime = 28800\nname = 'my-ike-policy'\nresource_group = resource_group_identity_model\n\nresponse = service.create_ike_policy(\n    authentication_algorithm,\n    dh_group,\n    encryption_algorithm,\n    ike_version,\n    key_lifetime=key_lifetime,\n    name=name,\n    resource_group=resource_group,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/ike_policies/{id}": {
      "delete": {
        "description": "This request deletes an IKE policy. This operation cannot be reversed. For this request\nto succeed, there must not be any VPN gateway connections using this policy.",
        "operationId": "delete_ike_policy",
        "responses": {
          "204": {
            "description": "The IKE policy was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IKE policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The IKE policy is in use and cannot be deleted."
          }
        },
        "summary": "Delete an IKE policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ike-policy.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/ike_policies/$ike_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeleteIkePolicyOptions(id)\nresponse, err := vpcService.DeleteIkePolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteIkePolicyOptions deleteIkePolicyOptions = new DeleteIkePolicyOptions.Builder()\n.id(id)\n.build();\n\nResponse<Void> response = service.deleteIkePolicy(deleteIkePolicyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteIkePolicy({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_ike_policy(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single IKE policy specified by the identifier in the URL.",
        "operationId": "get_ike_policy",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "authentication_algorithm": "md5",
                  "authentication_algorithms": [
                    "sha256"
                  ],
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "dh_group": 14,
                  "dh_groups": [
                    14
                  ],
                  "encryption_algorithm": "aes128",
                  "encryption_algorithms": [
                    "aes128"
                  ],
                  "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": "my-resource-group"
                  },
                  "resource_type": "ike_policy"
                },
                "schema": {
                  "$ref": "#/components/schemas/IKEPolicy"
                }
              }
            },
            "description": "The IKE policy was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IKE policy with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an IKE policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ike-policy.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/ike_policies/$ike_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetIkePolicyOptions(id)\nikePolicy, response, err := vpcService.GetIkePolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetIkePolicyOptions getIkePolicyOptions = new GetIkePolicyOptions.Builder()\n.id(id)\n.build();\n\nResponse<IKEPolicy> response = service.getIkePolicy(getIkePolicyOptions).execute();\n\nIKEPolicy ikePolicyResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getIkePolicy({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_ike_policy(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/ikePolicyIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates the properties of an existing IKE policy.",
        "operationId": "update_ike_policy",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "authentication_algorithm": "sha256",
                "authentication_algorithms": [
                  "sha256"
                ],
                "dh_group": 14,
                "dh_groups": [
                  14
                ],
                "encryption_algorithm": "aes128",
                "encryption_algorithms": [
                  "aes128"
                ],
                "ike_version": 1,
                "key_lifetime": 28800,
                "name": "my-ike-policy"
              },
              "schema": {
                "$ref": "#/components/schemas/IKEPolicyPatch"
              }
            }
          },
          "description": "The IKE policy patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "authentication_algorithm": "md5",
                  "authentication_algorithms": [
                    "sha256"
                  ],
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "dh_group": 14,
                  "dh_groups": [
                    14
                  ],
                  "encryption_algorithm": "aes128",
                  "encryption_algorithms": [
                    "aes128"
                  ],
                  "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": "my-resource-group"
                  },
                  "resource_type": "ike_policy"
                },
                "schema": {
                  "$ref": "#/components/schemas/IKEPolicy"
                }
              }
            },
            "description": "The IKE policy was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid IKE policy patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IKE policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The IKE policy patch conflicts with another IKE policy in the region."
          }
        },
        "summary": "Update an IKE policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ike-policy.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/ike_policies/$ike_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-new-ike-policy\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateIkePolicyOptions{\n  ID:      &id,\n  DhGroup: &dhGroup,\n  Name:    &name,\n}\nikePolicy, response, err := vpcService.UpdateIkePolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateIkePolicyOptions updateIkePolicyOptions = new UpdateIkePolicyOptions.Builder()\n.id(id)\n.name(\"my-ike-policy\")\n.authenticationAlgorithm(\"sha256\")\n.dhGroup(Long.valueOf(\"14\"))\n.encryptionAlgorithm(\"aes256\")\n.ikeVersion(Long.valueOf(\"1\"))\n.build();\n\nResponse<IKEPolicy> response = service.updateIkePolicy(updateIkePolicyOptions).execute();\n\nIKEPolicy ikePolicyResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateIkePolicy({\n  id,\n  name: 'my-ike-policy',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "authentication_algorithm = 'sha256'\ndh_group = 14\nencryption_algorithm = 'aes256'\nike_version = 1\nkey_lifetime = 28800\nname = 'my-ike-policy'\n\nresponse = service.update_ike_policy(\n    id,\n    authentication_algorithm=authentication_algorithm,\n    dh_group=dh_group,\n    encryption_algorithm=encryption_algorithm,\n    ike_version=ike_version,\n    key_lifetime=key_lifetime,\n    name=name,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/ike_policies/{id}/connections": {
      "get": {
        "description": "This request lists VPN gateway connections that use an IKE policy",
        "operationId": "list_ike_policy_connections",
        "parameters": [
          {
            "$ref": "#/components/parameters/ikePolicyIdUnqualified"
          },
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "connections": [
                    {
                      "admin_state_up": true,
                      "authentication_mode": "psk",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "dead_peer_detection": {
                        "action": "clear",
                        "interval": 30,
                        "timeout": 120
                      },
                      "distribute_traffic": true,
                      "establish_mode": "bidirectional",
                      "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": {
                        "ike_identities": [
                          {
                            "type": "fqdn",
                            "value": "my-service.example.com"
                          },
                          {
                            "type": "hostname",
                            "value": "my-hostname"
                          }
                        ]
                      },
                      "mode": "policy",
                      "name": "my-vpn-gateway-connection",
                      "peer": {
                        "address": "192.0.2.5",
                        "ike_identity": {
                          "type": "fqdn",
                          "value": "my-service.example.com"
                        },
                        "type": "address"
                      },
                      "psk": "lkj14b1oi0alcniejkso",
                      "resource_type": "vpn_gateway_connection",
                      "routing_protocol": "none",
                      "status": "down",
                      "status_reasons": [
                        {
                          "code": "cannot_authenticate_connection",
                          "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                        }
                      ],
                      "tunnels": [
                        {
                          "public_ip": {
                            "address": "192.168.3.4"
                          },
                          "status": "down",
                          "status_reasons": [
                            {
                              "code": "cannot_authenticate_connection",
                              "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                              "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d/connections?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/ike_policies/r006-e98f46a3-1e4e-4195-b4e5-b8155192689d/connections?start=c6d339ad873241c4acc936dfcff3f6d2&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/IKEPolicyConnectionCollection"
                }
              }
            },
            "description": "The VPN gateway connections were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IKE policy with the specified identifier could not be found."
          }
        },
        "summary": "List VPN gateway connections that use a specified IKE policy",
        "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/ike_policies/$ike_policy_id/connections?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListIkePolicyConnectionsOptions{\n  ID: &id,\n}\nconnections, response, err = vpcService.ListIkePolicyConnections(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListIkePolicyConnectionsOptions listIkePolicyConnectionsOptions = new ListIkePolicyConnectionsOptions.Builder()\n.id(id)\n.build();\n\nResponse<VPNGatewayConnectionCollection> response = service.listIkePolicyConnections(listIkePolicyConnectionsOptions).execute();\n\nVPNGatewayConnectionCollection vpnGatewayConnectionCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listIkePolicyConnections({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_ike_policy_connections(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/images": {
      "get": {
        "description": "This request lists images available in the region. An image provides source data\nfor a volume. Images are either system-provided, or created from another source, such\nas importing from Cloud Object Storage.",
        "operationId": "list_images",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "description": "Filters the collection to images with a `status` property matching one of the specified\ncomma-separated values.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/ImageStatus"
              },
              "minItems": 1,
              "type": "array",
              "uniqueItems": true
            }
          },
          {
            "description": "Filters the collection to images with a `visibility` property matching the specified\nvalue.",
            "in": "query",
            "name": "visibility",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ImageVisibility"
            }
          },
          {
            "description": "Filters the collection to images with a `user_data_format` property matching one of\nthe specified comma-separated values.",
            "explode": false,
            "in": "query",
            "name": "user_data_format",
            "required": false,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/ImageUserDataFormat"
              },
              "minItems": 1,
              "type": "array",
              "uniqueItems": true
            }
          },
          {
            "description": "Filters the collection to images with a `remote.account.id` property matching the\nspecified account identifier.\n\nThis parameter also supports the values null and not:null which filter the collection to\nresources which have no remote account identifier or any remote account identifier,\nrespectively.",
            "in": "query",
            "name": "remote.account.id",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/AccountIDExtendedFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/images?limit=20"
                  },
                  "images": [
                    {
                      "allowed_use": {
                        "api_version": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true",
                        "instance": "gpu.count > 0 && enable_secure_boot == true"
                      },
                      "catalog_offering": {
                        "managed": true,
                        "version": {
                          "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"
                        }
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                      "deprecation_at": "2026-01-02T03:04:05.006Z",
                      "encryption": "none",
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "file": {
                        "checksums": {
                          "sha256": "e992a84f113d3a35d2145ca3e7aca4fc95fe6daf470a08d8af3422ee59c92e15"
                        },
                        "size": 1
                      },
                      "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": 1,
                      "name": "my-image",
                      "obsolescence_at": "2026-01-02T03:04:05.006Z",
                      "operating_system": {
                        "allow_user_image_creation": true,
                        "architecture": "amd64",
                        "dedicated_host_only": true,
                        "display_name": "Ubuntu Server 16.04 LTS amd64",
                        "family": "Ubuntu Server",
                        "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": "16.04 LTS"
                      },
                      "remote": {
                        "account": {
                          "id": "bb1b52262f7441a586f49068482f1e60",
                          "resource_type": "account"
                        }
                      },
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "image",
                      "source_volume": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "remote": {
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        },
                        "resource_type": "volume"
                      },
                      "status": "available",
                      "status_reasons": [
                        {
                          "code": "encrypted_data_key_invalid",
                          "message": "A failure occurred",
                          "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                        }
                      ],
                      "user_data_format": "cloud_init",
                      "visibility": "private",
                      "zones": [
                        {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                          "name": "us-south-1"
                        }
                      ]
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/images?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ImageCollection"
                }
              }
            },
            "description": "The images were retrieved successfully"
          }
        },
        "summary": "List images",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.list"
            },
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/images?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListImagesOptions{}\noptions.SetVisibility(visibility)\nimages, response, err := vpcService.ListImages(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListImagesOptions listImagesOptions = new ListImagesOptions.Builder()\n  .build();\n\nResponse<ImageCollection> response = service.listImages(listImagesOptions).execute();\nImageCollection imageCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listImages();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_images()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new image from an image prototype object. The prototype object is\nstructured in the same way as a retrieved image, and contains the information necessary\nto create the new image. If an image is being imported, a URL to the image file on\nobject storage must be specified. If an image is being created from an existing volume,\nthat volume must be specified.",
        "operationId": "create_image",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "allowed_use": {
                  "api_version": "2024-06-23",
                  "bare_metal_server": "enable_secure_boot == true",
                  "instance": "gpu.count > 0 && enable_secure_boot == true"
                },
                "deprecation_at": "2026-01-02T03:04:05.006Z",
                "encryption_key": {
                  "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                },
                "file": {
                  "href": "cos://us-south/custom-image-vpc-bucket/customImage-0.vhd"
                },
                "name": "my-image",
                "obsolescence_at": "2026-01-02T03:04:05.006Z",
                "operating_system": {
                  "name": "ubuntu-24-04-amd64"
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ImagePrototype"
              }
            }
          },
          "description": "The image prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "catalog_offering": {
                    "managed": true,
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                  "deprecation_at": "2026-01-02T03:04:05.006Z",
                  "encryption": "none",
                  "encryption_key": {
                    "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                  },
                  "file": {
                    "checksums": {
                      "sha256": "e992a84f113d3a35d2145ca3e7aca4fc95fe6daf470a08d8af3422ee59c92e15"
                    },
                    "size": 1
                  },
                  "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": 1,
                  "name": "my-image",
                  "obsolescence_at": "2026-01-02T03:04:05.006Z",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "remote": {
                    "account": {
                      "id": "bb1b52262f7441a586f49068482f1e60",
                      "resource_type": "account"
                    }
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "image",
                  "source_volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "volume"
                  },
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encrypted_data_key_invalid",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "user_data_format": "cloud_init",
                  "visibility": "private",
                  "zones": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                      "name": "us-south-1"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "The image was created successfully",
            "headers": {
              "Location": {
                "description": "The URL for the image",
                "schema": {
                  "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"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid image prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image prototype object specified a volume or encryption key that cannot be used in\nits current state."
          }
        },
        "summary": "Create an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.create"
            },
            {
              "description": "Required if `deprecation_at` is specified.",
              "name": "is.image.image.deprecate"
            },
            {
              "description": "Required if `obsolescence_at` is specified.",
              "name": "is.image.image.obsolete"
            },
            {
              "description": "Required if an image is being created from an existing volume.",
              "name": "is.volume.volume.operate"
            },
            {
              "description": "Required if an image is being created from an existing volume that is attached to an\nexisting instance.",
              "name": "is.instance.instance.operate"
            },
            {
              "description": "Required if `allowed_use` is specified.",
              "name": "is.image.image.manage-allowed-use"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/images?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-image\",\n      \"file\": {\n        \"href\": \"cos://us-south/my-bucket/my-image.qcow2\"\n      },\n      \"operating_system\": {\n        \"name\": \"debian-9-amd64\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateImageOptions{}\ncosID := \"cos://cos-location-of-image-file\"\noptions.SetImagePrototype(&vpcv1.ImagePrototype{\n  Name: &name,\n  File: &vpcv1.ImageFilePrototype{\n    Href: &cosID,\n  },\n})\nimage, response, err := vpcService.CreateImage(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ImageFilePrototype imageFilePrototypeModel = new ImageFilePrototype.Builder()\n  .href(cosBucket)\n  .build();\nOperatingSystemIdentityByName operatingSystemIdentityModel = new OperatingSystemIdentityByName.Builder()\n  .name(osName)\n  .build();\nImagePrototypeImageByFile imagePrototypeModel = new ImagePrototypeImageByFile.Builder()\n  .name(\"my-image\")\n  .file(imageFilePrototypeModel)\n  .operatingSystem(operatingSystemIdentityModel)\n  .build();\nCreateImageOptions createImageOptions = new CreateImageOptions.Builder()\n  .imagePrototype(imagePrototypeModel)\n  .build();\n\nResponse<Image> response = service.createImage(createImageOptions).execute();\nImage image = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const imageFilePrototypeModel = {\n  href: cosBucket,\n};\n\nconst operatingSystemIdentityModel = {\n  name: 'debian-9-amd64',\n};\n\nconst imagePrototypeModel = {\n  name: 'my-image',\n  file: imageFilePrototypeModel,\n  operating_system: operatingSystemIdentityModel,\n};\n\nconst params = {\n  imagePrototype: imagePrototypeModel,\n};\n\nconst response = await vpcService.createImage(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "image_file_prototype_model = {}\nimage_file_prototype_model['href']= cos_location\n\noperating_system_identity_model = {}\noperating_system_identity_model['name'] = 'ubuntu-16-amd64'\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nimage_prototype_model = {}\nimage_prototype_model['name'] = 'my-image'\nimage_prototype_model['resource_group'] = resource_group_identity_model\nimage_prototype_model['file'] = image_file_prototype_model\nimage_prototype_model[\n    'operating_system'] = operating_system_identity_model\n\nimage_prototype = image_prototype_model\n\nresponse = service.create_image(image_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/images/{id}": {
      "delete": {
        "description": "This request deletes an image. Any active image export jobs will be completed first.\nThis operation cannot be reversed. An image with `remote.account` set is not allowed to\nbe deleted. Additionally, an image cannot be deleted if it:\n- has a `status` of `deleting`\n- has `catalog_offering.managed` set to `true`",
        "operationId": "delete_image",
        "responses": {
          "202": {
            "description": "The image deletion request was accepted."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image cannot be deleted in its current state."
          }
        },
        "summary": "Delete an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/images/$image_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteImageOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeleteImage(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteImageOptions deleteImageOptions = new DeleteImageOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteImage(deleteImageOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteImage({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_image(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single image specified by the identifier in the URL.",
        "operationId": "get_image",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "catalog_offering": {
                    "managed": true,
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                  "deprecation_at": "2026-01-02T03:04:05.006Z",
                  "encryption": "none",
                  "encryption_key": {
                    "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                  },
                  "file": {
                    "checksums": {
                      "sha256": "e992a84f113d3a35d2145ca3e7aca4fc95fe6daf470a08d8af3422ee59c92e15"
                    },
                    "size": 1
                  },
                  "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": 1,
                  "name": "my-image",
                  "obsolescence_at": "2026-01-02T03:04:05.006Z",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "remote": {
                    "account": {
                      "id": "bb1b52262f7441a586f49068482f1e60",
                      "resource_type": "account"
                    }
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "image",
                  "source_volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "volume"
                  },
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encrypted_data_key_invalid",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "user_data_format": "cloud_init",
                  "visibility": "private",
                  "zones": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                      "name": "us-south-1"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "The image was retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/images/$image_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetImageOptions{}\noptions.SetID(imageID)\nimage, response, err := vpcService.GetImage(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetImageOptions getImageOptions = new GetImageOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Image> response = service.getImage(getImageOptions).execute();\nImage image = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getImage({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_image(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/imageIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an image with the information in a provided image patch. The image\npatch object is structured in the same way as a retrieved image and contains only the\ninformation to be updated. An image with `remote.account` set is not allowed to be\nupdated. An image with a `status` of `deleting` cannot be updated.",
        "operationId": "update_image",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "allowed_use": {
                  "api_version": "2024-06-23",
                  "bare_metal_server": "enable_secure_boot == true",
                  "instance": "gpu.count > 0 && enable_secure_boot == true"
                },
                "deprecation_at": "2026-01-02T03:04:05.006Z",
                "name": "my-image",
                "obsolescence_at": "2026-01-02T03:04:05.006Z"
              },
              "schema": {
                "$ref": "#/components/schemas/ImagePatch"
              }
            }
          },
          "description": "The image patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "catalog_offering": {
                    "managed": true,
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                  "deprecation_at": "2026-01-02T03:04:05.006Z",
                  "encryption": "none",
                  "encryption_key": {
                    "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                  },
                  "file": {
                    "checksums": {
                      "sha256": "e992a84f113d3a35d2145ca3e7aca4fc95fe6daf470a08d8af3422ee59c92e15"
                    },
                    "size": 1
                  },
                  "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": 1,
                  "name": "my-image",
                  "obsolescence_at": "2026-01-02T03:04:05.006Z",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "remote": {
                    "account": {
                      "id": "bb1b52262f7441a586f49068482f1e60",
                      "resource_type": "account"
                    }
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "image",
                  "source_volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "volume"
                  },
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encrypted_data_key_invalid",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "user_data_format": "cloud_init",
                  "visibility": "private",
                  "zones": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                      "name": "us-south-1"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "The image was updated successfully"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid image patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image cannot be updated in its current state."
          }
        },
        "summary": "Update an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required if `name` is specified.",
              "name": "is.image.image.update"
            },
            {
              "description": "Required if `deprecation_at` is specified.",
              "name": "is.image.image.deprecate"
            },
            {
              "description": "Required if `obsolescence_at` is specified.",
              "name": "is.image.image.obsolete"
            },
            {
              "description": "Required if `allowed_use` is specified.",
              "name": "is.image.image.manage-allowed-use"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/images/$image_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\" : \"my-image-updated\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateImageOptions{}\noptions.SetID(id)\noptions.SetName(name)\nimage, response, err := vpcService.UpdateImage(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateImageOptions updateImageOptions = new UpdateImageOptions.Builder()\n  .id(id)\n  .name(\"my-image\")\n  .build();\n\nResponse<Image> response = service.updateImage(updateImageOptions).execute();\nImage image = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateImage({\n  id,\n  name: 'my-image',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_image(\n     id,\n     name='my-custom-image',\n )"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/images/{id}/bare_metal_server_profiles": {
      "get": {
        "description": "This request lists bare metal server profiles compatible with an image's\n`allowed_use.bare_metal_server`, `operating_system.architecture` and\n`user_data_format` properties, sorted by ascending `name` property values.",
        "operationId": "list_image_bare_metal_server_profiles",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "bare_metal_server_profiles": [
                    {
                      "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/bare_metal_server_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ImageBareMetalServerProfileCollection"
                }
              }
            },
            "description": "The bare metal server profiles were retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image with the specified identifier could not be found."
          }
        },
        "summary": "List bare metal server profiles compatible with an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/images/$image_id/bare_metal_server_profiles?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listImageBareMetalServerProfilesOptions := &vpcv1.ListImageBareMetalServerProfilesOptions{\n  ImageID: &imageID,\n}\n\nimageBareMetalServerProfiles, response, err := vpcService.ListImageBareMetalServerProfiles(listImageBareMetalServerProfilesOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "listImageBareMetalServerProfilesOptions = new ListImageBareMetalServerProfilesOptions.Builder()\n  .imageId(imageId)\n  .build();\n\nResponse<BareMetalServerProfileCollection> response = service.listImageBareMetalServerProfiles(listImageBareMetalServerProfilesOptions).execute();\nBareMetalServerProfileCollection imageBareMetalServerProfileCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: imageId,\n};\nconst response = await vpcService.listImageBareMetalServerProfiles(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.list_image_bare_metal_server_profiles_(\n    image_id=imageId\n)\nbare_metal_server_profile_collection = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/imageIdUnqualified"
        },
        {
          "$ref": "#/components/parameters/start"
        },
        {
          "$ref": "#/components/parameters/limit"
        }
      ]
    },
    "/images/{id}/deprecate": {
      "post": {
        "description": "This request deprecates an image, resulting in its `status` becoming `deprecated` and\n`deprecation_at` being set to the current date and time.\n\nThe image must:\n- have a `status` of `available`\n- have `catalog_offering.managed` set to `false`\n- not have `deprecation_at` set\n\nAn image with `remote.account` set is not allowed to be deprecated.",
        "operationId": "deprecate_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/version"
          },
          {
            "$ref": "#/components/parameters/generation"
          },
          {
            "$ref": "#/components/parameters/imageIdUnqualified"
          }
        ],
        "responses": {
          "204": {
            "description": "The image was deprecated successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image is not allowed to be deprecated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image cannot be deprecated in its current state."
          }
        },
        "summary": "Deprecate an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image-status.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.deprecate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/images/$image_id/deprecate?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deprecateImageOptions := vpcService.NewDeprecateImageOptions(\n  imageID,\n)\nresponse, err := vpcService.DeprecateImage(deprecateImageOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeprecateImageOptions deprecateImageOptions = new DeprecateImageOptions.Builder()\n  .id(imageId)\n  .build();\nResponse<Void> response = vpcService.deprecateImage(deprecateImageOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: imageId,\n};\nconst response = await vpcService.deprecateImage(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.deprecate_image(\n      id=imageId,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/images/{id}/instance_profiles": {
      "get": {
        "description": "This request lists instance profiles compatible with an image's\n`allowed_use.instance`, `operating_system.architecture` and\n`user_data_format` properties, sorted by ascending `name` property values.",
        "operationId": "list_image_instance_profiles",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/instance_profiles?limit=20"
                  },
                  "instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "resource_type": "instance_profile"
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ImageInstanceProfileCollection"
                }
              }
            },
            "description": "The instance profiles were retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image with the specified identifier could not be found."
          }
        },
        "summary": "List instance profiles compatible with an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/images/$image_id/instance_profiles?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listImageInstanceProfilesOptions := &vpcv1.ListImageInstanceProfilesOptions{\n  ImageID: &imageID,\n}\n\nimageInstanceProfiles, response, err := vpcService.ListImageInstanceProfiles(listImageInstanceProfilesOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "listImageInstanceProfilesOptions = new ListImageInstanceProfilesOptions.Builder()\n  .imageId(imageId)\n  .build();\n\nResponse<InstanceProfileCollection> response = service.listImageInstanceProfiles(listImageInstanceProfilesOptions).execute();\nInstanceProfileCollection imageInstanceProfileCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: imageId,\n};\nconst response = await vpcService.listImageInstanceProfiles(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.list_image_instance_profiles_(\n    image_id=imageId\n)\ninstance_profile_collection = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/imageIdUnqualified"
        },
        {
          "$ref": "#/components/parameters/start"
        },
        {
          "$ref": "#/components/parameters/limit"
        }
      ]
    },
    "/images/{id}/obsolete": {
      "post": {
        "description": "This request obsoletes an image, resulting in its `status` becoming `obsolete` and\n`obsolescence_at` being set to the current date and time.\n\nThe image must:\n- have a `status` of `available` or `deprecated`\n- have `catalog_offering.managed` set to `false`\n- not have `deprecation_at` set in the future\n- not have `obsolescence_at` set\n\nAn image with `remote.account` set is not allowed to be obsoleted.",
        "operationId": "obsolete_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/version"
          },
          {
            "$ref": "#/components/parameters/generation"
          },
          {
            "$ref": "#/components/parameters/imageIdUnqualified"
          }
        ],
        "responses": {
          "204": {
            "description": "The image was obsoleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image is not allowed to be obsoleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image cannot be obsoleted in its current state."
          }
        },
        "summary": "Obsolete an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image-status.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.obsolete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/images/$image_id/obsolete?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "obsoleteImageOptions := vpcService.NewObsoleteImageOptions(\n  imageID,\n)\nresponse, err := vpcService.ObsoleteImage(obsoleteImageOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ObsoleteImageOptions obsoleteImageOptions = new ObsoleteImageOptions.Builder()\n  .id(imageId)\n  .build();\nResponse<Void> response = vpcService.obsoleteImage(obsoleteImageOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: imageId,\n};\nconst response = await vpcService.obsoleteImage(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.obsolete_image(\n    id=imageId,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/images/{image_id}/export_jobs": {
      "get": {
        "description": "This request lists export jobs for an image. Each job tracks the exporting of the\nimage to another location, such as a bucket within cloud object storage.\n\nThe jobs will be sorted by their `created_at` property values, with newest jobs first.\nJobs with identical `created_at` property values will in turn be sorted by ascending\n`name` property values.",
        "operationId": "list_image_export_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/name"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "export_jobs": [
                    {
                      "completed_at": "2026-01-02T03:04:05.006Z",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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-job",
                      "resource_type": "image_export_job",
                      "started_at": "2026-01-02T03:04:05.006Z",
                      "status": "deleting",
                      "status_reasons": [
                        {
                          "code": "cannot_access_storage_bucket",
                          "message": "A failure occurred",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-object-storage-prereq"
                        }
                      ],
                      "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"
                      }
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/ImageExportJobUnpaginatedCollection"
                }
              }
            },
            "description": "The image export jobs were retrieved successfully."
          }
        },
        "summary": "List export jobs for an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image-export-job.list"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/images/$image_id/export_jobs?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listImageExportJobsOptions := &vpcv1.ListImageExportJobsOptions{\n  ImageID: &imageID,\n}\n\nimageExportJobs, response, err := vpcService.ListImageExportJobs(listImageExportJobsOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListImageExportJobsOptions listImageExportJobsOptions = new ListImageExportJobsOptions.Builder()\n  .imageId(imageId)\n  .build();\n\nResponse<ImageExportJobUnpaginatedCollection> response = vpcService.listImageExportJobs(listImageExportJobsOptions).execute();\nImageExportJobUnpaginatedCollection imageExportJobUnpaginatedCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  imageId: imageId,\n};\n\nconst response = await vpcService.listImageExportJobs(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.list_image_export_jobs(\n    image_id=imageId\n)\nimage_export_job_unpaginated_collection = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/imageId"
        }
      ],
      "post": {
        "description": "This request creates and queues a new export job for the image specified in the URL using\nthe image export job prototype object. The image must be owned by the account and be in\nthe `available`, `deprecated`, `obsolete`, or `unusable` state. The prototype object is\nstructured in the same way as a retrieved image export job, and contains the information\nnecessary to create and queue the new image export job.",
        "operationId": "create_image_export_job",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "format": "qcow2",
                "name": "my-image-export-job",
                "storage_bucket": {
                  "name": "bucket-27200-lwx4cfvcue"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ImageExportJobPrototype"
              }
            }
          },
          "description": "The image export job prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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-job",
                  "resource_type": "image_export_job",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_access_storage_bucket",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-object-storage-prereq"
                    }
                  ],
                  "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ImageExportJob"
                }
              }
            },
            "description": "The image export job was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid image export job prototype object was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image is not allowed to be exported."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image export job patch conflicts with another job for the image, or the\nspecified image cannot be exported in its current state."
          }
        },
        "summary": "Create an export job for an image",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image.export"
            },
            {
              "name": "is.image.image-export-job.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.operate"
            },
            {
              "name": "is.image.image.export"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/images/$image_id/export_jobs?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-image-export\",\n      \"storage_bucket\": {\n        \"name\": \"bucket-27200-lwx4cfvcue\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "cloudObjectStorageBucketIdentityModel :=\n  &vpcv1.CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName{\n    Name: &[]string{\"bucket-27200-lwx4cfvcue\"}[0],\n  }\n\ncreateImageExportJobOptions := &vpcv1.CreateImageExportJobOptions{\n  ImageID:       &imageID,\n  StorageBucket: cloudObjectStorageBucketIdentityModel,\n  Format:        &[]string{\"qcow2\"}[0],\n  Name:          &[]string{\"my-image-export-job\"}[0],\n}\n\nimageExportJob, response, err := vpcService.CreateImageExportJob(createImageExportJobOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName cloudObjectStorageBucketIdentityModel = new CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName.Builder()\n  .name(\"my-cos-bucket\")\n  .build();\nCreateImageExportJobOptions createImageExportJobOptions = new CreateImageExportJobOptions.Builder()\n  .imageId(imageId)\n  .storageBucket(cloudObjectStorageBucketIdentityModel)\n  .build();\n\nResponse<ImageExportJob> response = vpcService.createImageExportJob(createImageExportJobOptions).execute();\nImageExportJob imageExportJob = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const cloudObjectStorageBucketIdentityModel = {\n  name: 'bucket-27200-lwx4cfvcue',\n};\n\nconst params = {\n  imageId: imageId,\n  storageBucket: cloudObjectStorageBucketIdentityModel,\n  format: 'qcow2',\n  name: 'my-image-export-job'\n};\n\nconst response = await vpcService.createImageExportJob(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cloud_object_storage_bucket_identity_model = {\n    'name': 'bucket-27200-lwx4cfvcue',\n}\n\nimage_export_job = vpc_service.create_image_export_job(\n    image_id=imageId,\n    name='my-image-export-job',\n    storage_bucket=cloud_object_storage_bucket_identity_model\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/images/{image_id}/export_jobs/{id}": {
      "delete": {
        "description": "This request deletes an image export job. This operation cannot be reversed. If the job\nhas not completed, the job will be canceled, and the incomplete exported image object\ndeleted. If the job has completed, the exported image object will not be deleted.",
        "operationId": "delete_image_export_job",
        "responses": {
          "202": {
            "description": "The image export job deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified image export job could not be found."
          }
        },
        "summary": "Delete an image export job",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image-export-job.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.operate"
            },
            {
              "description": "Required when the image export job has not yet completed.",
              "name": "is.image.image.export"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/images/$image_id/export_jobs/$image_export_job_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deleteImageExportJobOptions := &vpcv1.DeleteImageExportJobOptions{\n  ImageID: &imageID,\n  ID:      &imageExportJobID,\n}\n\nresponse, err := vpcService.DeleteImageExportJob(deleteImageExportJobOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteImageExportJobOptions deleteImageExportJobOptions = new DeleteImageExportJobOptions.Builder()\n  .imageId(imageId)\n  .id(imageExportJobId)\n  .build();\n\nResponse<Void> response = vpcService.deleteImageExportJob(deleteImageExportJobOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  imageId: imageId,\n  id: imageExportJobId,\n};\n\nconst response = await vpcService.deleteImageExportJob(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.delete_image_export_job(\n    image_id=imageId,\n    id=imageExportJobId\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single image export job specified by the identifier in the URL.",
        "operationId": "get_image_export_job",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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-job",
                  "resource_type": "image_export_job",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_access_storage_bucket",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-object-storage-prereq"
                    }
                  ],
                  "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ImageExportJob"
                }
              }
            },
            "description": "The image export job was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified image export job could not be found."
          }
        },
        "summary": "Retrieve an image export job",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image-export-job.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/images/$image_id/export_jobs/$image_export_job_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getImageExportJobOptions := &vpcv1.GetImageExportJobOptions{\n  ImageID: &imageID,\n  ID:      &imageExportJobID,\n}\n\nimageExportJob, response, err := vpcService.GetImageExportJob(getImageExportJobOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetImageExportJobOptions getImageExportJobOptions = new GetImageExportJobOptions.Builder()\n  .imageId(imageId)\n  .id(imageExportJobId)\n  .build();\n\nResponse<ImageExportJob> response = vpcService.getImageExportJob(getImageExportJobOptions).execute();\nImageExportJob imageExportJob = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  imageId: imageId,\n  id: imageExportJobId,\n};\n\nconst response = await vpcService.getImageExportJob(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.get_image_export_job(\n    image_id=imageId,\n    id=imageExportJobId\n)\nimage_export_job = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/imageId"
        },
        {
          "$ref": "#/components/parameters/imageExportJobIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an image export job with the information in a provided image export\njob patch. The image export job patch object is structured in the same way as a retrieved\nimage export job and contains only the information to be updated.",
        "operationId": "update_image_export_job",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-image-export-job"
              },
              "schema": {
                "$ref": "#/components/schemas/ImageExportJobPatch"
              }
            }
          },
          "description": "The image export job patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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-job",
                  "resource_type": "image_export_job",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_access_storage_bucket",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-object-storage-prereq"
                    }
                  ],
                  "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ImageExportJob"
                }
              }
            },
            "description": "The image export job was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid image export job patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An image export job with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The image export job patch conflicts with another job for the image."
          }
        },
        "summary": "Update an image export job",
        "tags": [
          "Images"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.image.image-export-job.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.image.image.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/images/$image_id/export_jobs/$image_export_job_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-image-export-updated\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "imageExportJobPatchModel := &vpcv1.ImageExportJobPatch{\n  Name: &[]string{\"image-export-job-updated\"}[0],\n}\nimageExportJobPatchModelAsPatch, _ := imageExportJobPatchModel.AsPatch()\n\nupdateImageExportJobOptions := &vpcv1.UpdateImageExportJobOptions{\n  ImageID:             &imageID,\n  ID:                  &imageExportJobID,\n  ImageExportJobPatch: imageExportJobPatchModelAsPatch,\n}\n\nimageExportJob, response, err := vpcService.UpdateImageExportJob(updateImageExportJobOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ImageExportJobPatch imageExportJobPatchModel = new ImageExportJobPatch.Builder()\n  .build();\nMap<String, Object> imageExportJobPatchModelAsPatch = imageExportJobPatchModel.asPatch();\nUpdateImageExportJobOptions updateImageExportJobOptions = new UpdateImageExportJobOptions.Builder()\n  .imageId(imageId)\n  .id(imageExportJobId)\n  .imageExportJobPatch(imageExportJobPatchModelAsPatch)\n  .build();\n\nResponse<ImageExportJob> response = vpcService.updateImageExportJob(updateImageExportJobOptions).execute();\nImageExportJob imageExportJob = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  imageId: imageId,\n  id: imageExportJobId,\n  name: 'my-image-export-job-updated',\n};\n\nconst response = await vpcService.updateImageExportJob(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "image_export_job_patch_model = {\n    'name' : 'my-image-export-job-updated'\n}\n\nresponse = vpc_service.update_image_export_job(\n    image_id=imageId,\n    id=imageExportJobId,\n    image_export_job_patch=image_export_job_patch_model\n)\nimage_export_job = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance/profiles": {
      "get": {
        "description": "This request lists provisionable [instance\nprofiles](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) in the region. An instance\nprofile specifies the performance characteristics and pricing model for an instance.",
        "operationId": "list_instance_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/instance/profiles?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "profiles": [
                    {
                      "availability_class": {
                        "default": "spot",
                        "type": "enum",
                        "values": [
                          "spot",
                          "standard"
                        ]
                      },
                      "bandwidth": {
                        "type": "fixed",
                        "value": 20000
                      },
                      "cluster_network_attachment_count": {
                        "max": 32,
                        "min": 0,
                        "step": 8,
                        "type": "range"
                      },
                      "confidential_compute_modes": {
                        "default": "disabled",
                        "type": "enum",
                        "values": [
                          "disabled",
                          "sgx"
                        ]
                      },
                      "disks": [
                        {
                          "quantity": {
                            "type": "fixed",
                            "value": 4
                          },
                          "size": {
                            "type": "fixed",
                            "value": 100
                          },
                          "supported_interface_types": {
                            "default": "nvme",
                            "type": "enum",
                            "values": [
                              "nvme"
                            ]
                          }
                        }
                      ],
                      "family": "balanced",
                      "gpu_count": {
                        "type": "fixed",
                        "value": 2
                      },
                      "gpu_manufacturer": {
                        "type": "enum",
                        "values": [
                          "amd"
                        ]
                      },
                      "gpu_memory": {
                        "type": "fixed",
                        "value": 32
                      },
                      "gpu_model": {
                        "type": "enum",
                        "values": [
                          "Tesla V100"
                        ]
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "memory": {
                        "type": "fixed",
                        "value": 32
                      },
                      "name": "bx2-4x16",
                      "network_attachment_count": {
                        "max": 5,
                        "min": 1,
                        "type": "range"
                      },
                      "network_bandwidth_mode": {
                        "default": "divided",
                        "type": "enum",
                        "values": [
                          "divided"
                        ]
                      },
                      "network_interface_count": {
                        "max": 5,
                        "min": 1,
                        "type": "range"
                      },
                      "numa_count": {
                        "type": "fixed",
                        "value": 2
                      },
                      "os_architecture": {
                        "default": "amd64",
                        "type": "enum",
                        "values": [
                          "amd64"
                        ]
                      },
                      "port_speed": {
                        "type": "fixed",
                        "value": 1000
                      },
                      "reservation_terms": {
                        "type": "enum",
                        "values": [
                          "one_year",
                          "three_year"
                        ]
                      },
                      "resource_type": "instance_profile",
                      "secure_boot_modes": {
                        "default": true,
                        "type": "enum",
                        "values": [
                          true
                        ]
                      },
                      "status": "current",
                      "supported_cluster_network_profiles": [
                        {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100",
                          "name": "h100",
                          "resource_type": "cluster_network_profile"
                        }
                      ],
                      "supported_vcpu_count": {
                        "type": "enum",
                        "values": [
                          2,
                          4
                        ]
                      },
                      "threads_per_core": {
                        "default": 1,
                        "type": "enum",
                        "values": [
                          1,
                          2
                        ]
                      },
                      "total_volume_bandwidth": {
                        "type": "fixed",
                        "value": 20000
                      },
                      "vcpu_architecture": {
                        "type": "fixed",
                        "value": "amd64"
                      },
                      "vcpu_burst_limit": {
                        "type": "fixed",
                        "value": 200
                      },
                      "vcpu_count": {
                        "type": "fixed",
                        "value": 8
                      },
                      "vcpu_manufacturer": {
                        "type": "fixed",
                        "value": "amd"
                      },
                      "vcpu_percentage": {
                        "default": 1,
                        "type": "enum",
                        "values": [
                          10,
                          25,
                          50,
                          100
                        ]
                      },
                      "volume_bandwidth_qos_modes": {
                        "default": "pooled",
                        "type": "enum",
                        "values": [
                          "pooled",
                          "weighted"
                        ]
                      },
                      "zones": [
                        {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                          "name": "us-south-1"
                        }
                      ]
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceProfileCollection"
                }
              }
            },
            "description": "The instance profiles were retrieved successfully"
          }
        },
        "summary": "List instance profiles",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": []
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance/profiles?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceProfilesOptions{}\nprofiles, response, err := vpcService.ListInstanceProfiles(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceProfilesOptions listInstanceProfilesOptions = new ListInstanceProfilesOptions();\n\nResponse<InstanceProfileCollection> response = service.listInstanceProfiles(listInstanceProfilesOptions).execute();\nInstanceProfileCollection instanceProfileCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceProfiles({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_profiles()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/instance/profiles/{name}": {
      "get": {
        "description": "This request retrieves a single instance profile specified by the name in the URL.",
        "operationId": "get_instance_profile",
        "parameters": [
          {
            "description": "The instance profile name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "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"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "availability_class": {
                    "default": "spot",
                    "type": "enum",
                    "values": [
                      "spot",
                      "standard"
                    ]
                  },
                  "bandwidth": {
                    "type": "fixed",
                    "value": 20000
                  },
                  "cluster_network_attachment_count": {
                    "max": 32,
                    "min": 0,
                    "step": 8,
                    "type": "range"
                  },
                  "confidential_compute_modes": {
                    "default": "disabled",
                    "type": "enum",
                    "values": [
                      "disabled",
                      "sgx"
                    ]
                  },
                  "disks": [
                    {
                      "quantity": {
                        "type": "fixed",
                        "value": 4
                      },
                      "size": {
                        "type": "fixed",
                        "value": 100
                      },
                      "supported_interface_types": {
                        "default": "nvme",
                        "type": "enum",
                        "values": [
                          "nvme"
                        ]
                      }
                    }
                  ],
                  "family": "balanced",
                  "gpu_count": {
                    "type": "fixed",
                    "value": 2
                  },
                  "gpu_manufacturer": {
                    "type": "enum",
                    "values": [
                      "amd"
                    ]
                  },
                  "gpu_memory": {
                    "type": "fixed",
                    "value": 32
                  },
                  "gpu_model": {
                    "type": "enum",
                    "values": [
                      "Tesla V100"
                    ]
                  },
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                  "memory": {
                    "type": "fixed",
                    "value": 32
                  },
                  "name": "bx2-4x16",
                  "network_attachment_count": {
                    "max": 5,
                    "min": 1,
                    "type": "range"
                  },
                  "network_bandwidth_mode": {
                    "default": "divided",
                    "type": "enum",
                    "values": [
                      "divided"
                    ]
                  },
                  "network_interface_count": {
                    "max": 5,
                    "min": 1,
                    "type": "range"
                  },
                  "numa_count": {
                    "type": "fixed",
                    "value": 2
                  },
                  "os_architecture": {
                    "default": "amd64",
                    "type": "enum",
                    "values": [
                      "amd64"
                    ]
                  },
                  "port_speed": {
                    "type": "fixed",
                    "value": 1000
                  },
                  "reservation_terms": {
                    "type": "enum",
                    "values": [
                      "one_year",
                      "three_year"
                    ]
                  },
                  "resource_type": "instance_profile",
                  "secure_boot_modes": {
                    "default": true,
                    "type": "enum",
                    "values": [
                      true
                    ]
                  },
                  "status": "current",
                  "supported_cluster_network_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/cluster_network/profiles/h100",
                      "name": "h100",
                      "resource_type": "cluster_network_profile"
                    }
                  ],
                  "supported_vcpu_count": {
                    "type": "enum",
                    "values": [
                      2,
                      4
                    ]
                  },
                  "threads_per_core": {
                    "default": 1,
                    "type": "enum",
                    "values": [
                      1,
                      2
                    ]
                  },
                  "total_volume_bandwidth": {
                    "type": "fixed",
                    "value": 20000
                  },
                  "vcpu_architecture": {
                    "type": "fixed",
                    "value": "amd64"
                  },
                  "vcpu_burst_limit": {
                    "type": "fixed",
                    "value": 200
                  },
                  "vcpu_count": {
                    "type": "fixed",
                    "value": 8
                  },
                  "vcpu_manufacturer": {
                    "type": "fixed",
                    "value": "amd"
                  },
                  "vcpu_percentage": {
                    "default": 1,
                    "type": "enum",
                    "values": [
                      10,
                      25,
                      50,
                      100
                    ]
                  },
                  "volume_bandwidth_qos_modes": {
                    "default": "pooled",
                    "type": "enum",
                    "values": [
                      "pooled",
                      "weighted"
                    ]
                  },
                  "zones": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                      "name": "us-south-1"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceProfile"
                }
              }
            },
            "description": "The instance profile was retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance profile with the specified name could not be found."
          }
        },
        "summary": "Retrieve an instance profile",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": []
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance/profiles/$profile-name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceProfileOptions{}\noptions.SetName(profileName)\nprofile, response, err := vpcService.GetInstanceProfile(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceProfileOptions getInstanceProfileOptions = new GetInstanceProfileOptions.Builder()\n  .name(profileName)\n  .build();\n\nResponse<InstanceProfile> response = service.getInstanceProfile(getInstanceProfileOptions).execute();\nInstanceProfile instanceProfile = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceProfile({ name: profileName });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_profile(name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/instance/templates": {
      "get": {
        "description": "This request lists instance templates in the region.",
        "operationId": "list_instance_templates",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/templates?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "templates": [
                    {
                      "availability": {},
                      "availability_policy": {
                        "host_failure": "restart",
                        "preemption": "delete"
                      },
                      "boot_volume_attachment": {
                        "delete_volume_on_instance_delete": true,
                        "name": "my-volume-attachment",
                        "volume": {
                          "allowed_use": {
                            "api_version": "2024-06-23",
                            "bare_metal_server": "enable_secure_boot == true",
                            "instance": "gpu.count > 0 && enable_secure_boot == true"
                          },
                          "bandwidth": 1000,
                          "capacity": 100,
                          "encryption_key": {
                            "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                          },
                          "iops": 10000,
                          "name": "my-volume",
                          "profile": {
                            "name": "general-purpose"
                          },
                          "resource_group": {
                            "id": "fee82deba12e4c0fb69c3b09d1f12345"
                          },
                          "user_tags": []
                        }
                      },
                      "cluster_network_attachments": [
                        {
                          "cluster_network_interface": {
                            "auto_delete": true,
                            "name": "my-cluster-network-interface",
                            "primary_ip": {
                              "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                            },
                            "subnet": {
                              "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                            }
                          },
                          "name": "my-instance-network-attachment"
                        }
                      ],
                      "confidential_compute_mode": "disabled",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2",
                      "default_trusted_profile": {
                        "auto_link": true,
                        "target": {
                          "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                        }
                      },
                      "enable_secure_boot": true,
                      "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"
                        }
                      ],
                      "metadata_service": {
                        "enabled": true,
                        "protocol": "http",
                        "response_hop_limit": 2
                      },
                      "name": "my-instance-template",
                      "network_attachments": [
                        {
                          "name": "my-instance-network-attachment",
                          "virtual_network_interface": {
                            "allow_ip_spoofing": true,
                            "auto_delete": true,
                            "enable_infrastructure_nat": true,
                            "ips": [
                              {
                                "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                              }
                            ],
                            "name": "my-virtual-network-interface",
                            "primary_ip": {
                              "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                            },
                            "protocol_state_filtering_mode": "auto",
                            "resource_group": {
                              "id": "fee82deba12e4c0fb69c3b09d1f12345"
                            },
                            "security_groups": [
                              {
                                "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                              }
                            ],
                            "subnet": {
                              "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                            }
                          }
                        }
                      ],
                      "placement_target": {
                        "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a"
                      },
                      "primary_network_attachment": {
                        "name": "my-instance-network-attachment",
                        "virtual_network_interface": {
                          "allow_ip_spoofing": true,
                          "auto_delete": true,
                          "enable_infrastructure_nat": true,
                          "ips": [
                            {
                              "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                            }
                          ],
                          "name": "my-virtual-network-interface",
                          "primary_ip": {
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                          },
                          "protocol_state_filtering_mode": "auto",
                          "resource_group": {
                            "id": "fee82deba12e4c0fb69c3b09d1f12345"
                          },
                          "security_groups": [
                            {
                              "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                            }
                          ],
                          "subnet": {
                            "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                          }
                        }
                      },
                      "profile": {
                        "name": "bx2-4x16"
                      },
                      "reservation_affinity": {
                        "policy": "automatic",
                        "pool": [
                          {
                            "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                          }
                        ]
                      },
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "threads_per_core": 1,
                      "total_volume_bandwidth": 500,
                      "user_data": "[...]",
                      "vcpu": {
                        "percentage": 100
                      },
                      "volume_attachments": [
                        {
                          "delete_volume_on_instance_delete": true,
                          "name": "my-volume-attachment",
                          "volume": {
                            "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                          }
                        }
                      ],
                      "volume_bandwidth_qos_mode": "pooled",
                      "vpc": {
                        "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                      },
                      "zone": {
                        "name": "us-south-1"
                      }
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceTemplateCollection"
                }
              }
            },
            "description": "The instance templates were retrieved successfully."
          }
        },
        "summary": "List instance templates",
        "tags": [
          "Instance templates"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-template.instance-template.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.template.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance/templates?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceTemplatesOptions{}\ninstanceTemplates, response, err := vpcService.ListInstanceTemplates(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceTemplatesOptions listInstanceTemplatesOptions = new ListInstanceTemplatesOptions();\n\nResponse<InstanceTemplateCollection> response = service.listInstanceTemplates(listInstanceTemplatesOptions).execute();\nInstanceTemplateCollection instanceTemplateCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceTemplates();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_templates()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new instance template. The prototype object is structured in the same\nway as a retrieved instance template, and contains the information necessary to provision a\nnew instance from the template.\n\nIf a `source_template` is specified in the prototype object, its contents are copied into\nthe new template prior to copying any other properties provided in the prototype object.",
        "operationId": "create_instance_template",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "availability": {},
                "availability_policy": {
                  "host_failure": "restart",
                  "preemption": "delete"
                },
                "boot_volume_attachment": {
                  "delete_volume_on_instance_delete": true,
                  "name": "my-volume-attachment",
                  "volume": {
                    "allowed_use": {
                      "api_version": "2024-06-23",
                      "bare_metal_server": "enable_secure_boot == true",
                      "instance": "gpu.count > 0 && enable_secure_boot == true"
                    },
                    "bandwidth": 1000,
                    "capacity": 100,
                    "encryption_key": {
                      "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                    },
                    "iops": 10000,
                    "name": "my-volume",
                    "profile": {
                      "name": "general-purpose"
                    },
                    "resource_group": {
                      "id": "fee82deba12e4c0fb69c3b09d1f12345"
                    },
                    "user_tags": []
                  }
                },
                "cluster_network_attachments": [
                  {
                    "cluster_network_interface": {
                      "auto_delete": true,
                      "name": "my-cluster-network-interface",
                      "primary_ip": {
                        "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                      },
                      "subnet": {
                        "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                      }
                    },
                    "name": "my-instance-network-attachment"
                  }
                ],
                "confidential_compute_mode": "disabled",
                "default_trusted_profile": {
                  "auto_link": true,
                  "target": {
                    "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                  }
                },
                "enable_secure_boot": true,
                "image": {
                  "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8"
                },
                "keys": [
                  {
                    "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45"
                  }
                ],
                "metadata_service": {
                  "enabled": true,
                  "protocol": "http",
                  "response_hop_limit": 2
                },
                "name": "my-instance",
                "network_attachments": [
                  {
                    "name": "my-instance-network-attachment",
                    "virtual_network_interface": {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "enable_infrastructure_nat": true,
                      "ips": [
                        {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        }
                      ],
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      },
                      "protocol_state_filtering_mode": "auto",
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "security_groups": [
                        {
                          "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                        }
                      ],
                      "subnet": {
                        "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                      }
                    }
                  }
                ],
                "placement_target": {
                  "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a"
                },
                "primary_network_attachment": {
                  "name": "my-instance-network-attachment",
                  "virtual_network_interface": {
                    "allow_ip_spoofing": true,
                    "auto_delete": true,
                    "enable_infrastructure_nat": true,
                    "ips": [
                      {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      }
                    ],
                    "name": "my-virtual-network-interface",
                    "primary_ip": {
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                    },
                    "protocol_state_filtering_mode": "auto",
                    "resource_group": {
                      "id": "fee82deba12e4c0fb69c3b09d1f12345"
                    },
                    "security_groups": [
                      {
                        "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                      }
                    ],
                    "subnet": {
                      "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                    }
                  }
                },
                "profile": {
                  "name": "bx2-4x16"
                },
                "reservation_affinity": {
                  "policy": "automatic",
                  "pool": [
                    {
                      "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                    }
                  ]
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "threads_per_core": 1,
                "total_volume_bandwidth": 500,
                "user_data": "[...]",
                "vcpu": {
                  "percentage": 100
                },
                "volume_attachments": [
                  {
                    "delete_volume_on_instance_delete": true,
                    "name": "my-volume-attachment",
                    "volume": {
                      "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                    }
                  }
                ],
                "volume_bandwidth_qos_mode": "pooled",
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceTemplatePrototype"
              }
            }
          },
          "description": "The instance template prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "availability": {},
                  "availability_policy": {
                    "host_failure": "restart",
                    "preemption": "delete"
                  },
                  "boot_volume_attachment": {
                    "delete_volume_on_instance_delete": true,
                    "name": "my-volume-attachment",
                    "volume": {
                      "allowed_use": {
                        "api_version": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true",
                        "instance": "gpu.count > 0 && enable_secure_boot == true"
                      },
                      "bandwidth": 1000,
                      "capacity": 100,
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "iops": 10000,
                      "name": "my-volume",
                      "profile": {
                        "name": "general-purpose"
                      },
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "user_tags": []
                    }
                  },
                  "cluster_network_attachments": [
                    {
                      "cluster_network_interface": {
                        "auto_delete": true,
                        "name": "my-cluster-network-interface",
                        "primary_ip": {
                          "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                        },
                        "subnet": {
                          "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                        }
                      },
                      "name": "my-instance-network-attachment"
                    }
                  ],
                  "confidential_compute_mode": "disabled",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2",
                  "default_trusted_profile": {
                    "auto_link": true,
                    "target": {
                      "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                    }
                  },
                  "enable_secure_boot": true,
                  "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"
                    }
                  ],
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http",
                    "response_hop_limit": 2
                  },
                  "name": "my-instance-template",
                  "network_attachments": [
                    {
                      "name": "my-instance-network-attachment",
                      "virtual_network_interface": {
                        "allow_ip_spoofing": true,
                        "auto_delete": true,
                        "enable_infrastructure_nat": true,
                        "ips": [
                          {
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                          }
                        ],
                        "name": "my-virtual-network-interface",
                        "primary_ip": {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        },
                        "protocol_state_filtering_mode": "auto",
                        "resource_group": {
                          "id": "fee82deba12e4c0fb69c3b09d1f12345"
                        },
                        "security_groups": [
                          {
                            "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                          }
                        ],
                        "subnet": {
                          "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                        }
                      }
                    }
                  ],
                  "placement_target": {
                    "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a"
                  },
                  "primary_network_attachment": {
                    "name": "my-instance-network-attachment",
                    "virtual_network_interface": {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "enable_infrastructure_nat": true,
                      "ips": [
                        {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        }
                      ],
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      },
                      "protocol_state_filtering_mode": "auto",
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "security_groups": [
                        {
                          "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                        }
                      ],
                      "subnet": {
                        "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                      }
                    }
                  },
                  "profile": {
                    "name": "bx2-4x16"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "threads_per_core": 1,
                  "total_volume_bandwidth": 500,
                  "user_data": "[...]",
                  "vcpu": {
                    "percentage": 100
                  },
                  "volume_attachments": [
                    {
                      "delete_volume_on_instance_delete": true,
                      "name": "my-volume-attachment",
                      "volume": {
                        "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                      }
                    }
                  ],
                  "volume_bandwidth_qos_mode": "pooled",
                  "vpc": {
                    "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                  },
                  "zone": {
                    "name": "us-south-1"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceTemplate"
                }
              }
            },
            "description": "The instance template was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance template prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance template prototype object conflicts with another instance template\nin the region."
          }
        },
        "summary": "Create an instance template",
        "tags": [
          "Instance templates"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-template.instance-template.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.template.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instance/templates?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"primary_network_interface\": {\n        \"subnet\": {\n          \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n        }\n      },\n      \"name\": \"my-instance-template\",\n      \"zone\": {\n        \"name\": \"us-south-1\"\n      },\n      \"vpc\": {\n        \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n      },\n      \"profile\": {\n        \"name\": \"bx2-2x8\"\n      },\n      \"image\": {\n        \"id\": \"r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8\"\n      },\n      \"keys\": [\n        {\n          \"id\": \"r006-82679077-ac3b-4c10-be16-63e9c21f0f45\"\n        }\n      ]\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateInstanceTemplateOptions{}\noptions.SetInstanceTemplatePrototype(&vpcv1.InstanceTemplatePrototype{\n  Name: &name,\n  Image: &vpcv1.ImageIdentity{\n    ID: &imageID,\n    },\n  Profile: &vpcv1.InstanceProfileIdentity{\n    Name: &profileName,\n    },\n  Zone: &vpcv1.ZoneIdentity{\n    Name: &zoneName,\n    },\n  PrimaryNetworkInterface: &vpcv1.NetworkInterfacePrototype{\n    Subnet: &vpcv1.SubnetIdentity{\n      ID: &subnetId,\n      },\n    },\n  Keys: []vpcv1.KeyIdentityIntf{\n    &vpcv1.KeyIdentity{\n      ID: &keyID,\n      },\n    },\n  VPC: &vpcv1.VPCIdentity{\n    ID: &vpcID,\n    },\n  })\n  instanceTemplate, response, err = vpcService.CreateInstanceTemplate(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "KeyIdentityById keyIdentityModel = new KeyIdentityById.Builder()\n.id(keyId)\n.build();\nInstanceProfileIdentityByName instanceProfileIdentityModel = new InstanceProfileIdentityByName.Builder()\n  .name(profileName)\n  .build();\nVPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nSubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n  .id(subnetId)\n  .build();\nNetworkInterfacePrototype networkInterfacePrototypeModel = new NetworkInterfacePrototype.Builder()\n  .subnet(subnetIdentityModel)\n  .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n  .name(zoneName)\n  .build();\nImageIdentityById imageIdentityModel = new ImageIdentityById.Builder()\n  .id(imageId)\n  .build();\nInstanceTemplatePrototypeInstanceByImage instanceTemplatePrototypeModel = new InstanceTemplatePrototypeInstanceByImage.Builder()\n  .name(\"my-instance-template\")\n  .keys(new java.util.ArrayList<KeyIdentity>(java.util.Arrays.asList(keyIdentityModel)))\n  .profile(instanceProfileIdentityModel)\n  .vpc(vpcIdentityModel)\n  .primaryNetworkInterface(networkInterfacePrototypeModel)\n  .zone(zoneIdentityModel)\n  .image(imageIdentityModel)\n  .build();\nCreateInstanceTemplateOptions createInstanceTemplateOptions = new CreateInstanceTemplateOptions.Builder()\n  .instanceTemplatePrototype(instanceTemplatePrototypeModel)\n  .build();\n\nResponse<InstanceTemplate> response = service.createInstanceTemplate(createInstanceTemplateOptions).execute();\nInstanceTemplate instanceTemplate = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const subnetIdentityModel = {\n  id: subnetID,\n};\n\nconst networkInterfacePrototypeModel = {\n  name: 'my-network-interface',\n  subnet: subnetIdentityModel,\n};\n\nconst instanceProfileIdentityModel = {\n  name: instanceProfileName,\n};\n\nconst vpcIdentityModel = {\n  id: vpcID,\n};\n\nconst zoneIdentityModel = {\n  name: zoneName,\n};\n\nconst imageIdentityModel = {\n  id: imageID,\n};\n\nconst instanceTemplatePrototypeModel = {\n  name: 'my-instance-template',\n  profile: instanceProfileIdentityModel,\n  vpc: vpcIdentityModel,\n  primary_network_interface: networkInterfacePrototypeModel,\n  zone: zoneIdentityModel,\n  image: imageIdentityModel,\n};\n\nconst params = {\n  instanceTemplatePrototype: instanceTemplatePrototypeModel,\n};\n\nconst response = await vpcService.createInstanceTemplate(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "encryption_key_identity_model = {}\nencryption_key_identity_model[\n    'crn'] = key_crn\n\nvolume_profile_identity_model = {}\nvolume_profile_identity_model['name'] = 'general-purpose'\n\nsecurity_group_identity_model = {}\nsecurity_group_identity_model[\n    'id'] = security_group_id\n\nsubnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\n\nvolume_attachment_prototype_instance_context_volume_model = {}\nvolume_attachment_prototype_instance_context_volume_model[\n    'id'] = data_volume_id\n\nvolume_prototype_instance_by_image_context_model = {}\nvolume_prototype_instance_by_image_context_model['name'] = 'my-volume'\nvolume_prototype_instance_by_image_context_model['profile'] =\n  volume_profile_identity_model\nvolume_prototype_instance_by_image_context_model[\n    'encryption_key'] = encryption_key_identity_model\nvolume_prototype_instance_by_image_context_model['capacity'] = 100\nvolume_prototype_instance_by_image_context_model['iops'] = 10000\n\nimage_identity_model = {}\nimage_identity_model['id'] = image_id\n\ninstance_profile_identity_model = {}\ninstance_profile_identity_model['name'] = 'bc1-4x16'\n\nkey_identity_model = {}\nkey_identity_model['id'] = ssh_key_id\n\nnetwork_interface_prototype_model = {}\nnetwork_interface_prototype_model['name'] = 'my-network-interface'\nnetwork_interface_prototype_model['security_groups'] = [\n    security_group_identity_model\n]\nnetwork_interface_prototype_model['subnet'] = subnet_identity_model\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nvpc_identity_model = {}\nvpc_identity_model['id'] = vpc_id\n\nvolume_attachment_prototype_instance_by_image_context_model = {}\nvolume_attachment_prototype_instance_by_image_context_model[\n    'delete_volume_on_instance_delete'] = True\nvolume_attachment_prototype_instance_by_image_context_model[\n    'name'] = 'my-volume-attachment'\nvolume_attachment_prototype_instance_by_image_context_model[\n    'volume'] = volume_prototype_instance_by_image_context_model\n\nvolume_attachment_prototype_instance_context_model = {}\nvolume_attachment_prototype_instance_context_model[\n    'delete_volume_on_instance_delete'] = True\nvolume_attachment_prototype_instance_context_model[\n    'name'] = 'my-volume-attachment'\nvolume_attachment_prototype_instance_context_model[\n    'volume'] = volume_attachment_prototype_instance_context_volume_model\n\nzone_identity_model = {}\nzone_identity_model['name'] = zone_name\n\ninstance_template_prototype_model = {}\ninstance_template_prototype_model['name'] = 'my-instance-template'\ninstance_template_prototype_model['keys'] = [key_identity_model]\ninstance_template_prototype_model['network_interfaces'] = [\n    network_interface_prototype_model\n]\ninstance_template_prototype_model['profile'] =\n  instance_profile_identity_model\ninstance_template_prototype_model['user_data'] = 'user-data'\ninstance_template_prototype_model['volume_attachments'] = [\n    volume_attachment_prototype_instance_context_model\n]\ninstance_template_prototype_model['vpc'] = vpc_identity_model\ninstance_template_prototype_model[\n    'resource_group'] = resource_group_identity_model\ninstance_template_prototype_model[\n    'primary_network_interface'] = network_interface_prototype_model\ninstance_template_prototype_model['zone'] = zone_identity_model\ninstance_template_prototype_model[\n    'boot_volume_attachment'] =\n      volume_attachment_prototype_instance_by_image_context_model\ninstance_template_prototype_model['image'] = image_identity_model\n\nresponse = service.create_instance_template(instance_template_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance/templates/{id}": {
      "delete": {
        "description": "This request deletes the instance template. This operation cannot be reversed.",
        "operationId": "delete_instance_template",
        "responses": {
          "204": {
            "description": "The instance template was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance template could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance template is in use and cannot be deleted."
          }
        },
        "summary": "Delete an instance template",
        "tags": [
          "Instance templates"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-template.instance-template.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.template.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance/templates/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceTemplateOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeleteInstanceTemplate(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceTemplateOptions deleteInstanceTemplateOptions = new DeleteInstanceTemplateOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceTemplate(deleteInstanceTemplateOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceTemplate({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_template(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance template specified by the identifier in the URL.",
        "operationId": "get_instance_template",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "availability": {},
                  "availability_policy": {
                    "host_failure": "restart",
                    "preemption": "delete"
                  },
                  "boot_volume_attachment": {
                    "delete_volume_on_instance_delete": true,
                    "name": "my-volume-attachment",
                    "volume": {
                      "allowed_use": {
                        "api_version": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true",
                        "instance": "gpu.count > 0 && enable_secure_boot == true"
                      },
                      "bandwidth": 1000,
                      "capacity": 100,
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "iops": 10000,
                      "name": "my-volume",
                      "profile": {
                        "name": "general-purpose"
                      },
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "user_tags": []
                    }
                  },
                  "cluster_network_attachments": [
                    {
                      "cluster_network_interface": {
                        "auto_delete": true,
                        "name": "my-cluster-network-interface",
                        "primary_ip": {
                          "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                        },
                        "subnet": {
                          "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                        }
                      },
                      "name": "my-instance-network-attachment"
                    }
                  ],
                  "confidential_compute_mode": "disabled",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2",
                  "default_trusted_profile": {
                    "auto_link": true,
                    "target": {
                      "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                    }
                  },
                  "enable_secure_boot": true,
                  "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"
                    }
                  ],
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http",
                    "response_hop_limit": 2
                  },
                  "name": "my-instance-template",
                  "network_attachments": [
                    {
                      "name": "my-instance-network-attachment",
                      "virtual_network_interface": {
                        "allow_ip_spoofing": true,
                        "auto_delete": true,
                        "enable_infrastructure_nat": true,
                        "ips": [
                          {
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                          }
                        ],
                        "name": "my-virtual-network-interface",
                        "primary_ip": {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        },
                        "protocol_state_filtering_mode": "auto",
                        "resource_group": {
                          "id": "fee82deba12e4c0fb69c3b09d1f12345"
                        },
                        "security_groups": [
                          {
                            "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                          }
                        ],
                        "subnet": {
                          "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                        }
                      }
                    }
                  ],
                  "placement_target": {
                    "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a"
                  },
                  "primary_network_attachment": {
                    "name": "my-instance-network-attachment",
                    "virtual_network_interface": {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "enable_infrastructure_nat": true,
                      "ips": [
                        {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        }
                      ],
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      },
                      "protocol_state_filtering_mode": "auto",
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "security_groups": [
                        {
                          "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                        }
                      ],
                      "subnet": {
                        "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                      }
                    }
                  },
                  "profile": {
                    "name": "bx2-4x16"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "threads_per_core": 1,
                  "total_volume_bandwidth": 500,
                  "user_data": "[...]",
                  "vcpu": {
                    "percentage": 100
                  },
                  "volume_attachments": [
                    {
                      "delete_volume_on_instance_delete": true,
                      "name": "my-volume-attachment",
                      "volume": {
                        "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                      }
                    }
                  ],
                  "volume_bandwidth_qos_mode": "pooled",
                  "vpc": {
                    "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                  },
                  "zone": {
                    "name": "us-south-1"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceTemplate"
                }
              }
            },
            "description": "The instance template was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance template with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance template",
        "tags": [
          "Instance templates"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-template.instance-template.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.template.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance/templates/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceTemplateOptions{}\noptions.SetID(id)\ninstanceTemplate, response, err := vpcService.GetInstanceTemplate(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceTemplateOptions getInstanceTemplateOptions = new GetInstanceTemplateOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<InstanceTemplate> response = service.getInstanceTemplate(getInstanceTemplateOptions).execute();\nInstanceTemplate instanceTemplate = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceTemplate({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_template(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceTemplateIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance template with the information provided in the instance\ntemplate patch. The instance template patch object is structured in the same way as a\nretrieved instance template and contains only the information to be updated.",
        "operationId": "update_instance_template",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-instance-template"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceTemplatePatch"
              }
            }
          },
          "description": "The instance template patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "availability": {},
                  "availability_policy": {
                    "host_failure": "restart",
                    "preemption": "delete"
                  },
                  "boot_volume_attachment": {
                    "delete_volume_on_instance_delete": true,
                    "name": "my-volume-attachment",
                    "volume": {
                      "allowed_use": {
                        "api_version": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true",
                        "instance": "gpu.count > 0 && enable_secure_boot == true"
                      },
                      "bandwidth": 1000,
                      "capacity": 100,
                      "encryption_key": {
                        "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                      },
                      "iops": 10000,
                      "name": "my-volume",
                      "profile": {
                        "name": "general-purpose"
                      },
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "user_tags": []
                    }
                  },
                  "cluster_network_attachments": [
                    {
                      "cluster_network_interface": {
                        "auto_delete": true,
                        "name": "my-cluster-network-interface",
                        "primary_ip": {
                          "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                        },
                        "subnet": {
                          "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                        }
                      },
                      "name": "my-instance-network-attachment"
                    }
                  ],
                  "confidential_compute_mode": "disabled",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2",
                  "default_trusted_profile": {
                    "auto_link": true,
                    "target": {
                      "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                    }
                  },
                  "enable_secure_boot": true,
                  "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"
                    }
                  ],
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http",
                    "response_hop_limit": 2
                  },
                  "name": "my-instance-template",
                  "network_attachments": [
                    {
                      "name": "my-instance-network-attachment",
                      "virtual_network_interface": {
                        "allow_ip_spoofing": true,
                        "auto_delete": true,
                        "enable_infrastructure_nat": true,
                        "ips": [
                          {
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                          }
                        ],
                        "name": "my-virtual-network-interface",
                        "primary_ip": {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        },
                        "protocol_state_filtering_mode": "auto",
                        "resource_group": {
                          "id": "fee82deba12e4c0fb69c3b09d1f12345"
                        },
                        "security_groups": [
                          {
                            "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                          }
                        ],
                        "subnet": {
                          "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                        }
                      }
                    }
                  ],
                  "placement_target": {
                    "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a"
                  },
                  "primary_network_attachment": {
                    "name": "my-instance-network-attachment",
                    "virtual_network_interface": {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "enable_infrastructure_nat": true,
                      "ips": [
                        {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        }
                      ],
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      },
                      "protocol_state_filtering_mode": "auto",
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "security_groups": [
                        {
                          "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                        }
                      ],
                      "subnet": {
                        "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                      }
                    }
                  },
                  "profile": {
                    "name": "bx2-4x16"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "threads_per_core": 1,
                  "total_volume_bandwidth": 500,
                  "user_data": "[...]",
                  "vcpu": {
                    "percentage": 100
                  },
                  "volume_attachments": [
                    {
                      "delete_volume_on_instance_delete": true,
                      "name": "my-volume-attachment",
                      "volume": {
                        "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                      }
                    }
                  ],
                  "volume_bandwidth_qos_mode": "pooled",
                  "vpc": {
                    "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                  },
                  "zone": {
                    "name": "us-south-1"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceTemplate"
                }
              }
            },
            "description": "The instance template was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance template patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance template with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance template patch conflicts with another instance template in the region."
          }
        },
        "summary": "Update an instance template",
        "tags": [
          "Instance templates"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-template.instance-template.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.template.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instance/templates/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-instance-template\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceTemplateOptions{}\noptions.SetID(id)\noptions.SetName(name)\ninstanceTemplate, response, err := vpcService.UpdateInstanceTemplate(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceTemplateOptions updateInstanceTemplateOptions = new UpdateInstanceTemplateOptions.Builder()\n.id(id)\n.name(name)\n.build();\n\nResponse<InstanceTemplate> response = service.updateInstanceTemplate(updateInstanceTemplateOptions).execute();\nInstanceTemplate instanceTemplate = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstanceTemplate({\n  id,\n  name: 'my-instance-template',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_instance_template(id, name=new_name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups": {
      "get": {
        "description": "This request lists instance groups in the region.",
        "operationId": "list_instance_groups",
        "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/instance_groups?limit=20"
                  },
                  "instance_groups": [
                    {
                      "application_port": 22,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "load_balancer_pool": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "managers": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": 10,
                      "name": "my-instance-group",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "status": "deleting",
                      "subnets": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "2026-01-02T03:04:05.006Z",
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupCollection"
                }
              }
            },
            "description": "The instance groups were retrieved successfully."
          }
        },
        "summary": "List instance groups",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.list"
            },
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceGroupsOptions{}\ninstanceGroups, response, err := vpcService.ListInstanceGroups(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceGroupsOptions listInstanceGroupsOptions = new ListInstanceGroupsOptions.Builder()\n  .build();\n\nResponse<InstanceGroupCollection> response = service.listInstanceGroups(listInstanceGroupsOptions).execute();\nInstanceGroupCollection instanceGroupCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceGroups();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_groups(start=start, limit=limit)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new instance group",
        "operationId": "create_instance_group",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "application_port": 22,
                "instance_template": {
                  "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2"
                },
                "load_balancer": {
                  "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727"
                },
                "load_balancer_pool": {
                  "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                },
                "membership_count": 10,
                "name": "my-instance-group",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "subnets": [
                  {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupPrototype"
              }
            }
          },
          "description": "The instance group prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "application_port": 22,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "load_balancer_pool": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "managers": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": 10,
                  "name": "my-instance-group",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "status": "deleting",
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/InstanceGroup"
                }
              }
            },
            "description": "The instance group was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group prototype object specified in a load balancer pool that is\nalready in use by another instance group in the VPC."
          }
        },
        "summary": "Create an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.instance-group.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.create"
            },
            {
              "name": "is.instance.instance-template.read"
            },
            {
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required when `load_balancer` and/or `load_balancer_pool` is specified",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instance_groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"instance_template\": {\n        \"id\": \"0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2\"\n      },\n      \"subnets\": [\n        {\n          \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n        }\n      ]\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateInstanceGroupOptions{}\noptions.SetName(name)\noptions.SetInstanceTemplate(instanceTemplateID)\nvar subnetArray = []vpcv1.SubnetIdentityIntf{\n  &vpcv1.SubnetIdentity{\n    ID: &subnetId,\n  },\n}\noptions.SetSubnets(subnetArray)\ninstanceGroup, response, err := vpcService.CreateInstanceGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "InstanceTemplateIdentityById instanceTemplateIdentityModel = new InstanceTemplateIdentityById.Builder()\n  .id(instanceTemplateId)\n  .build();\nSubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n  .id(subnetId)\n  .build();\nCreateInstanceGroupOptions createInstanceGroupOptions = new CreateInstanceGroupOptions.Builder()\n  .name(\"my-instance-group\")\n  .instanceTemplate(instanceTemplateIdentityModel)\n  .subnets(new java.util.ArrayList<SubnetIdentity>(java.util.Arrays.asList(subnetIdentityModel)))\n  .build();\n\nResponse<InstanceGroup> response = service.createInstanceGroup(createInstanceGroupOptions).execute();\nInstanceGroup instanceGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceTemplate: {\n    id: instanceTemplateID,\n  },\n  subnets: [{\n    id: subnetID,\n  }],\n  name: 'my-instance-group',\n  membershipCount: 1,\n};\nconst response = await vpcService.createInstanceGroup(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_template_identity_model = {}\ninstance_template_identity_model[\n    'id'] = instance_template_id\n\nsubnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\n\nload_balancer_identity_model = {}\nload_balancer_identity_model[\n    'id'] = load_balancer_id\n\nload_balancer_pool_identity_model = {}\nload_balancer_pool_identity_model[\n    'id'] = load_balancer_pool_id\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\ninstance_template = instance_template_identity_model\nsubnets = [subnet_identity_model]\nname = 'my-instance-group'\nmembership_count = 2\napplication_port = 22\nload_balancer = load_balancer_identity_model\nload_balancer_pool = load_balancer_pool_identity_model\nresource_group = resource_group_identity_model"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{id}": {
      "delete": {
        "description": "This request deletes an instance group. This operation cannot be reversed.\nAny instances associated with the group will be deleted.",
        "operationId": "delete_instance_group",
        "responses": {
          "204": {
            "description": "The instance group was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group with the specified identifier could not be found."
          }
        },
        "summary": "Delete an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.instance-group.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.delete"
            },
            {
              "name": "is.instance.instance.delete"
            },
            {
              "description": "Required when the instance group manages a load balancer",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance_groups/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceGroupOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeleteInstanceGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceGroupOptions deleteInstanceGroupOptions = new DeleteInstanceGroupOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceGroup(deleteInstanceGroupOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceGroup({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_group(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance group specified by identifier in the URL.",
        "operationId": "get_instance_group",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "application_port": 22,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "load_balancer_pool": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "managers": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": 10,
                  "name": "my-instance-group",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "status": "deleting",
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/InstanceGroup"
                }
              }
            },
            "description": "The instance group was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceGroupOptions{}\noptions.SetID(id)\ninstanceGroup, response, err := vpcService.GetInstanceGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceGroupOptions getInstanceGroupOptions = new GetInstanceGroupOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<InstanceGroup> response = service.getInstanceGroup(getInstanceGroupOptions).execute();\nInstanceGroup instanceGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceGroup({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_group(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance group with the information provided instance group patch.\nThe instance group patch object is structured in the same way as a retrieved instance group\nand contains only the information to be updated.",
        "operationId": "update_instance_group",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "application_port": 22,
                "instance_template": {
                  "id": "0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2"
                },
                "load_balancer": {
                  "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727"
                },
                "load_balancer_pool": {
                  "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                },
                "membership_count": 10,
                "name": "my-instance-group",
                "subnets": [
                  {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupPatch"
              }
            }
          },
          "description": "The instance group patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "application_port": 22,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "load_balancer_pool": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "managers": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": 10,
                  "name": "my-instance-group",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "status": "deleting",
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/InstanceGroup"
                }
              }
            },
            "description": "The instance group was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group patch object specified properties that cannot be changed while\nthe instance group has memberships, or specified a load balancer pool that is\nalready in use by another instance group in the VPC."
          }
        },
        "summary": "Update an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            },
            {
              "description": "Required when `instance_template` is specified",
              "name": "is.instance.instance-template.read"
            },
            {
              "description": "Required when `subnets` is specified",
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required when `load_balancer_pool` is specified",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instance_groups/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-instance-group\",\n      \"membership_count\": 7\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceGroupOptions{}\noptions.SetID(id)\noptions.SetName(name)\ninstanceGroup, response, err := vpcService.UpdateInstanceGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceGroupOptions updateInstanceGroupOptions = new UpdateInstanceGroupOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<InstanceGroup> response = service.updateInstanceGroup(updateInstanceGroupOptions).execute();\nInstanceGroup instanceGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstanceGroup({\n  id,\n  name: 'my-instance-group',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_template_identity_model = {}\ninstance_template_identity_model[\n    'id'] = instance_template_id\n\nsubnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\n\nload_balancer_identity_model = {}\nload_balancer_identity_model[\n    'id'] = load_balancer_id\n\nload_balancer_pool_identity_model = {}\nload_balancer_pool_identity_model[\n    'id'] = load_balancer_pool_id\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nname = 'my-instance-group'\nmembership_count = 3\nsubnets = [subnet_identity_model]\napplication_port = 22\n\nresponse = service.update_instance_group(\n    id,\n    name=name,\n    membership_count=membership_count,\n    instance_template=instance_template_identity_model,\n    subnets=subnets,\n    application_port=application_port,\n    load_balancer=load_balancer_identity_model,\n    load_balancer_pool=load_balancer_pool_identity_model)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{instance_group_id}/load_balancer": {
      "delete": {
        "description": "This request unbinds the instance group from the load balancer pool,\nand deletes the load balancer pool members.",
        "operationId": "delete_instance_group_load_balancer",
        "responses": {
          "204": {
            "description": "The instance group load balancer was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group load balancer is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group load balancer could not be found."
          }
        },
        "summary": "Delete an instance group load balancer",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.load-balancer.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/load_balancer?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceGroupLoadBalancerOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\nresponse, err := vpcService.DeleteInstanceGroupLoadBalancer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceGroupLoadBalancerOptions deleteInstanceGroupLoadBalancerOptions = new DeleteInstanceGroupLoadBalancerOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .build();\n\nResponse<Void> response = service.deleteInstanceGroupLoadBalancer(deleteInstanceGroupLoadBalancerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceGroupLoadBalancer({\n  instanceGroupId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_group_load_balancer(instance_group_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        }
      ]
    },
    "/instance_groups/{instance_group_id}/managers": {
      "get": {
        "description": "This request lists managers for an instance group.",
        "operationId": "list_instance_group_managers",
        "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/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers?limit=20"
                  },
                  "limit": 20,
                  "managers": [
                    {
                      "aggregation_window": 120,
                      "cooldown": 210,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": 10,
                      "min_membership_count": 10,
                      "name": "my-instance-group-manager",
                      "policies": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "2026-01-02T03:04:05.006Z"
                    }
                  ],
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerCollection"
                }
              }
            },
            "description": "The instance group managers were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group with the specified identifier could not be found."
          }
        },
        "summary": "List managers for an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceGroupManagersOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\ninstanceGroupManagers, response, err := vpcService.ListInstanceGroupManagers(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceGroupManagersOptions listInstanceGroupManagersOptions = new ListInstanceGroupManagersOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .build();\n\nResponse<InstanceGroupManagerCollection> response = service.listInstanceGroupManagers(listInstanceGroupManagersOptions).execute();\nInstanceGroupManagerCollection instanceGroupManagerCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceGroupManagers({ instanceGroupId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_group_managers(instance_group_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        }
      ],
      "post": {
        "description": "This request creates a new instance group manager",
        "operationId": "create_instance_group_manager",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "aggregation_window": 120,
                "cooldown": 210,
                "management_enabled": true,
                "manager_type": "autoscale",
                "max_membership_count": 10,
                "min_membership_count": 10,
                "name": "my-instance-group-manager"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupManagerPrototype"
              }
            }
          },
          "description": "The instance group manager prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "aggregation_window": 120,
                  "cooldown": 210,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 10,
                  "min_membership_count": 10,
                  "name": "my-instance-group-manager",
                  "policies": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManager"
                }
              }
            },
            "description": "The instance group manager was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group manager prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager prototype object conflicts with another manager\nfor the instance group."
          }
        },
        "summary": "Create a manager for an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"manager_type\": \"autoscale\",\n      \"max_membership_count\": 50\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "prototype := &vpcv1.InstanceGroupManagerPrototype{\n  ManagerType: \"autoscale\",\n  MaxMembershipCount: 50,\n}\noptions := &vpcv1.CreateInstanceGroupManagerOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerPrototype(prototype)\ninstanceGroupManager, response, err := vpcService.CreateInstanceGroupManager(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype instanceGroupManagerPrototypeModel = new InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype.Builder()\n  .name(\"my-instance-group-manager\")\n  .maxMembershipCount(Long.valueOf(\"10\"))\n  .managerType(\"autoscale\")\n  .build();\nCreateInstanceGroupManagerOptions createInstanceGroupManagerOptions = new CreateInstanceGroupManagerOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerPrototype(instanceGroupManagerPrototypeModel)\n  .build();\n\nResponse<InstanceGroupManager> response = service.createInstanceGroupManager(createInstanceGroupManagerOptions).execute();\nInstanceGroupManager instanceGroupManager = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const instanceGroupManagerPrototypeModel = {\n  name: 'my-instance-group-manager',\n  management_enabled: true,\n  aggregation_window: 120,\n  cooldown: 210,\n  max_membership_count: 2,\n  min_membership_count: 3,\n  manager_type: 'autoscale',\n};\n\nconst params = {\n  instanceGroupId,\n  instanceGroupManagerPrototype: instanceGroupManagerPrototypeModel,\n};\n\nconst response = await vpcService.createInstanceGroupManager(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_group_manager_prototype_model = {}\ninstance_group_manager_prototype_model[\n    'name'] = 'my-instance-group-manager'\ninstance_group_manager_prototype_model['management_enabled'] = True\ninstance_group_manager_prototype_model['aggregation_window'] = 120\ninstance_group_manager_prototype_model['cooldown'] = 210\ninstance_group_manager_prototype_model['max_membership_count'] = 10\ninstance_group_manager_prototype_model['min_membership_count'] = 10\ninstance_group_manager_prototype_model['manager_type'] = 'autoscale'\n\nresponse = service.create_instance_group_manager(\n    instance_group_id, instance_group_manager_prototype_model)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{instance_group_id}/managers/{id}": {
      "delete": {
        "description": "This request deletes an instance group manager. This operation cannot be reversed.",
        "operationId": "delete_instance_group_manager",
        "responses": {
          "204": {
            "description": "The instance group manager was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager with the specified identifier could not be found."
          }
        },
        "summary": "Delete an instance group manager",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceGroupManagerOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetID(id)\nresponse, err := vpcService.DeleteInstanceGroupManager(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceGroupManagerOptions deleteInstanceGroupManagerOptions = new DeleteInstanceGroupManagerOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceGroupManager(deleteInstanceGroupManagerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceGroupManager({\n  instanceGroupId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_group_manager(instance_group_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance group manager specified by identifier in the URL.",
        "operationId": "get_instance_group_manager",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "aggregation_window": 120,
                  "cooldown": 210,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 10,
                  "min_membership_count": 10,
                  "name": "my-instance-group-manager",
                  "policies": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManager"
                }
              }
            },
            "description": "The instance group manager was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance group manager",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceGroupManagerOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetID(id)\ninstanceGroupManager, response, err := vpcService.GetInstanceGroupManager(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceGroupManagerOptions getInstanceGroupManagerOptions = new GetInstanceGroupManagerOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .id(managerId)\n  .build();\n\nResponse<InstanceGroupManager> response = service.getInstanceGroupManager(getInstanceGroupManagerOptions).execute();\nInstanceGroupManager instanceGroupManager = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceGroupManager({ instanceGroupId, id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_group_manager(instance_group_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupManagerIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance group manager with the\ninformation provided instance group manager patch.",
        "operationId": "update_instance_group_manager",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "aggregation_window": 120,
                "cooldown": 210,
                "management_enabled": true,
                "max_membership_count": 10,
                "min_membership_count": 10,
                "name": "my-instance-group-manager"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupManagerPatch"
              }
            }
          },
          "description": "The instance group manager patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "aggregation_window": 120,
                  "cooldown": 210,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 10,
                  "min_membership_count": 10,
                  "name": "my-instance-group-manager",
                  "policies": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManager"
                }
              }
            },
            "description": "The instance group manager was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group manager patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager patch conflicts with another manager for the instance group."
          }
        },
        "summary": "Update an instance group manager",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"min_membership_count\": 10,\n      \"max_membership_count\": 20\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceGroupManagerOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetID(id)\noptions.SetMaxMembershipCount(20)\ninstanceGroupManager, response, err := vpcService.UpdateInstanceGroupManager(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceGroupManagerOptions updateInstanceGroupManagerOptions = new UpdateInstanceGroupManagerOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .id(managerId)\n  .maxMembershipCount(Long.valueOf(\"10\"))\n  .build();\n\nResponse<InstanceGroupManager> response = service.updateInstanceGroupManager(updateInstanceGroupManagerOptions).execute();\nInstanceGroupManager instanceGroupManager = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstanceGroupManager({\n  instanceGroupId,\n  id,\n  cooldown: 240,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "name = 'my-instance-group-manager'\nmanagement_enabled = True\naggregation_window = 120\ncooldown = 210\nmax_membership_count = 10\nmin_membership_count = 10\n\nresponse = service.update_instance_group_manager(\n    instance_group_id,\n    id,\n    name=name,\n    management_enabled=management_enabled,\n    aggregation_window=aggregation_window,\n    cooldown=cooldown,\n    max_membership_count=max_membership_count,\n    min_membership_count=min_membership_count)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/actions": {
      "get": {
        "description": "This request lists instance group actions for an instance group manager.",
        "operationId": "list_instance_group_manager_actions",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "actions": [
                    {
                      "action_type": "scheduled",
                      "auto_delete": true,
                      "auto_delete_timeout": 24,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "cron_spec": "30 */2 * * 1-5",
                      "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",
                      "last_applied_at": "2026-01-02T03:04:05.006Z",
                      "name": "my-instance-group-manager-action",
                      "next_run_at": "2026-01-02T03:04:05.006Z",
                      "resource_type": "instance_group_manager_action",
                      "status": "active",
                      "updated_at": "2026-01-02T03:04:05.006Z"
                    }
                  ],
                  "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerActionsCollection"
                }
              }
            },
            "description": "The instance group manager actions were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager with the specified identifier could not be found."
          }
        },
        "summary": "List actions for an instance group manager",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_action.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.list"
            },
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/actions?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceGroupManagerActionsOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\ninstanceGroupManagerActions, response, err :=\n  vpcService.ListInstanceGroupManagerActions(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceGroupManagerActionsOptions listInstanceGroupManagerActionsOptions = new ListInstanceGroupManagerActionsOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .build();\nResponse<InstanceGroupManagerActionsCollection> response = service.listInstanceGroupManagerActions(listInstanceGroupManagerActionsOptions).execute();\nInstanceGroupManagerActionsCollection instanceGroupManagerActionsCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceGroupManagerActions({\n  instanceGroupId,\n  instanceGroupManagerId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_group_manager_actions(\n  instance_group_id,\n  instance_group_manager_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupManagerId"
        }
      ],
      "post": {
        "description": "This request creates a new instance group manager action",
        "operationId": "create_instance_group_manager_action",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "cron_spec": "30 */2 * * 1-5",
                "group": {
                  "membership_count": 10
                },
                "name": "my-instance-group-manager-action"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupManagerActionPrototype"
              }
            }
          },
          "description": "The instance group manager action prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "action_type": "scheduled",
                  "auto_delete": true,
                  "auto_delete_timeout": 24,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "cron_spec": "30 */2 * * 1-5",
                  "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",
                  "last_applied_at": "2026-01-02T03:04:05.006Z",
                  "name": "my-instance-group-manager-action",
                  "next_run_at": "2026-01-02T03:04:05.006Z",
                  "resource_type": "instance_group_manager_action",
                  "status": "active",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerAction"
                }
              }
            },
            "description": "The instance group manager action was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group manager action prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager action prototype object conflicts with another action\nfor the instance group manager."
          }
        },
        "summary": "Create an instance group manager action",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_action.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/actions?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"cron_spec\": \"30 */2 * * 1-5\",\n      \"group\": {\n        \"membership_count\": 10\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "instanceGroupManagerScheduledActionGroupPrototypeModel :=\n  &vpcv1.InstanceGroupManagerScheduledActionByManagerManager{\n    ID: &managerID,\n  }\nname := \"my-instance-group-manager-action\"\ndateTime := \"2021-06-01T12:00:00.000Z\"\ninstanceGroupManagerActionPrototype := &vpcv1.InstanceGroupManagerActionPrototype{\n  Name:  &name,\n  RunAt: &dateTime,\n  Manager: instanceGroupManagerScheduledActionGroupPrototypeModel,\n}\noptions := &vpcv1.CreateInstanceGroupManagerActionOptions\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.InstanceGroupManagerActionPrototype = &instanceGroupManagerActionPrototype\ninstanceGroupManagerAction, response, err :=\n  vpcService.CreateInstanceGroupManagerAction(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "import com.ibm.cloud.sdk.core.util.DateUtils;\n\nInstanceGroupManagerScheduledActionByManagerManager instanceGroupManagerScheduledActionByManagerManager = new InstanceGroupManagerScheduledActionByManagerManager.Builder()\n  .id(managerID)\n  .build();\n\nInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager instanceGroupManagerActionPrototypeModel = new InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager.Builder()\n  .name(\"my-instance-group-manager-action\")\n  .runAt(DateUtils.parseAsDateTime(\"2021-06-01T12:00:00.000Z\"))\n  .manager(instanceGroupManagerScheduledActionByManagerManager)\n  .build();\nCreateInstanceGroupManagerActionOptions createInstanceGroupManagerActionOptions = new CreateInstanceGroupManagerActionOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .build();\nResponse<InstanceGroupManagerAction> response = service.createInstanceGroupManagerAction(createInstanceGroupManagerActionOptions).execute();\nInstanceGroupManagerAction instanceGroupManagerAction = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const instanceGroupManagerScheduledActionGroupPrototypeModel = {\n  id: managerID,\n};\nconst instanceGroupManagerActionPrototypeModel = {\n  name: 'my-instance-group-manager-action',\n  run_at: '2021-06-01T12:00:00.000Z',\n  manager: instanceGroupManagerScheduledActionGroupPrototypeModel,\n};\n\nconst params = {\n  instanceGroupId,\n  instanceGroupManagerId,\n  instanceGroupManagerActionPrototype: instanceGroupManagerActionPrototypeModel,\n};\nconst response = await vpcService.createInstanceGroupManagerAction(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_group_manager_scheduled_action_group_prototype_model = {}\ninstance_group_manager_scheduled_action_group_prototype_model['id'] = managerID\ninstance_group_manager_action_prototype_model = {}\ninstance_group_manager_action_prototype_model['name'] =\n  'my-instance-group-manager-action'\ninstance_group_manager_action_prototype_model['run_at'] =\n  '2021-06-01T12:00:00.000Z'\ninstance_group_manager_action_prototype_model['manager'] =\n  instance_group_manager_scheduled_action_group_prototype_model\ninstance_group_manager_action = service.create_instance_group_manager_action(\n  instance_group_id,\n  instance_group_manager_id,\n  instance_group_manager_action_prototype_model)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/actions/{id}": {
      "delete": {
        "description": "This request deletes an instance group manager action. This operation cannot be reversed.",
        "operationId": "delete_instance_group_manager_action",
        "responses": {
          "204": {
            "description": "The instance group manager action was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager action is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager action with the specified identifier could not be found."
          }
        },
        "summary": "Delete specified instance group manager action",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_action.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/actions/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceGroupManagerActionOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.SetID(id)\nresponse, err := vpcService.DeleteInstanceGroupManagerAction(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceGroupManagerActionOptions deleteInstanceGroupManagerActionOptions = new DeleteInstanceGroupManagerActionOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(instanceGroupManagerId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceGroupManagerAction(deleteInstanceGroupManagerActionOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceGroupManagerAction({\n  instanceGroupId,\n  instanceGroupManagerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_group_manager_action(\n  instance_group_id,\n  instance_group_manager_id,\n  id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance group manager action specified\nby identifier in the URL.",
        "operationId": "get_instance_group_manager_action",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action_type": "scheduled",
                  "auto_delete": true,
                  "auto_delete_timeout": 24,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "cron_spec": "30 */2 * * 1-5",
                  "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",
                  "last_applied_at": "2026-01-02T03:04:05.006Z",
                  "name": "my-instance-group-manager-action",
                  "next_run_at": "2026-01-02T03:04:05.006Z",
                  "resource_type": "instance_group_manager_action",
                  "status": "active",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerAction"
                }
              }
            },
            "description": "The instance group manager action was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager action with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve specified instance group manager action",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/actions/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceGroupManagerActionOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.SetID(id)\ninstanceGroupManagerAction, response, err :=\n  vpcService.GetInstanceGroupManagerAction(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceGroupManagerActionOptions getInstanceGroupManagerActionOptions = new GetInstanceGroupManagerActionOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .id(id)\n  .build();\n\nResponse<InstanceGroupManagerAction> response = service.getInstanceGroupManagerAction(getInstanceGroupManagerActionOptions).execute();\nInstanceGroupManagerAction instanceGroupManagerAction = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceGroupManagerAction({\n  instanceGroupId,\n  instanceGroupManagerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_group_manager_action(\n  instance_group_id,\n  instance_group_manager_id,\n  id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupManagerId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupManagerActionIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance group manager action.",
        "operationId": "update_instance_group_manager_action",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "auto_delete": true,
                "auto_delete_timeout": 24,
                "cron_spec": "30 */2 * * 1-5",
                "group": {
                  "membership_count": 10
                },
                "manager": {
                  "max_membership_count": 10,
                  "min_membership_count": 10
                },
                "name": "my-instance-group-manager-action",
                "run_at": "2026-01-02T03:04:05.006Z"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupManagerActionPatch"
              }
            }
          },
          "description": "The instance group manager action patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action_type": "scheduled",
                  "auto_delete": true,
                  "auto_delete_timeout": 24,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "cron_spec": "30 */2 * * 1-5",
                  "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",
                  "last_applied_at": "2026-01-02T03:04:05.006Z",
                  "name": "my-instance-group-manager-action",
                  "next_run_at": "2026-01-02T03:04:05.006Z",
                  "resource_type": "instance_group_manager_action",
                  "status": "active",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerAction"
                }
              }
            },
            "description": "The instance group manager action was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group manager action patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager action is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager action with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager action patch conflicts with another action\nfor the instance group manager."
          }
        },
        "summary": "Update specified instance group manager action",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_action.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/actions/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"metric_type\": \"cpu\",\n      \"metric_value\": 50\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "name := \"my-instance-group-manager-action-updated\"\ninstanceGroupManagerActionPatchModel := &vpcv1.InstanceGroupManagerActionPatch{}\ninstanceGroupManagerActionPatchModel.Name := &name\ninstanceGroupManagerActionPatch, _ := instanceGroupManagerActionPatchModel.AsPatch()\noptions := &vpcv1.UpdateInstanceGroupManagerActionOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.SetID(id)\noptions.InstanceGroupManagerActionPatch = instanceGroupManagerActionPatch\ninstanceGroupManagerAction, response, err :=\n  vpcService.UpdateInstanceGroupManagerAction(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "InstanceGroupManagerActionPatch instanceGroupManagerActionPatchModel = new InstanceGroupManagerActionPatch.Builder()\n  .name(\"my-instance-group-manager-action-updated\")\n  .build();\nMap<String, Object> instanceGroupManagerActionPatchModelAsPatch = instanceGroupManagerActionPatchModel.asPatch();\nUpdateInstanceGroupManagerActionOptions updateInstanceGroupManagerActionOptions = new UpdateInstanceGroupManagerActionOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .id(id)\n  .instanceGroupManagerActionPatch(instanceGroupManagerActionPatchModelAsPatch)\n  .build();\nResponse<InstanceGroupManagerAction> response = service.updateInstanceGroupManagerAction(updateInstanceGroupManagerActionOptions).execute();\nInstanceGroupManagerAction instanceGroupManagerAction = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const instanceGroupManagerActionPatchModel = {\n  name: 'my-instance-group-manager-action-updated',\n};\nconst params = {\n  instanceGroupId,\n  instanceGroupManagerId,\n  id,\n  instanceGroupManagerActionPatch: instanceGroupManagerActionPatch,\n};\nconst response = await vpcService.updateInstanceGroupManagerAction(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_group_manager_action_patch_model = {}\ninstance_group_manager_action_patch_model['name']\n  = 'my-instance-group-manager-action-updated'\ninstance_group_manager_action = service.update_instance_group_manager_action(\n  instance_group_id,\n  instance_group_manager_id,\n  id,\n  instance_group_manager_action_patch=instance_group_manager_action_patch_model)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/policies": {
      "get": {
        "description": "This request lists policies for an instance group manager.",
        "operationId": "list_instance_group_manager_policies",
        "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/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r006-bd21f31f-8a05-4451-836d-ab0347e91fea/policies?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": 1,
                      "name": "my-instance-group-manager-policy",
                      "policy_type": "target",
                      "updated_at": "2026-01-02T03:04:05.006Z"
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerPolicyCollection"
                }
              }
            },
            "description": "The instance group manager policies were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager with the specified identifier could not be found."
          }
        },
        "summary": "List policies for an instance group manager",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_policy.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceGroupManagerPoliciesOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\ninstanceGroupManagerPolicies, response, err :=\n  vpcService.ListInstanceGroupManagerPolices(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceGroupManagerPoliciesOptions listInstanceGroupManagerPoliciesOptions = new ListInstanceGroupManagerPoliciesOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .build();\n\nResponse<InstanceGroupManagerPolicyCollection> response = service.listInstanceGroupManagerPolicies(listInstanceGroupManagerPoliciesOptions).execute();\nInstanceGroupManagerPolicyCollection instanceGroupManagerPolicyCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceGroupManagerPolicies({\n  instanceGroupId,\n  instanceGroupManagerId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_group_manager_policies(\n  instance_group_id,\n  instance_group_manager_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupManagerId"
        }
      ],
      "post": {
        "description": "This request creates a new instance group manager policy",
        "operationId": "create_instance_group_manager_policy",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "metric_type": "cpu",
                "metric_value": 1,
                "name": "my-instance-group-manager-policy",
                "policy_type": "target"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupManagerPolicyPrototype"
              }
            }
          },
          "description": "The instance group manager policy prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 1,
                  "name": "my-instance-group-manager-policy",
                  "policy_type": "target",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerPolicy"
                }
              }
            },
            "description": "The instance group manager policy was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group manager policy prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager policy prototype object conflicts with another policy\nfor the instance group manager."
          }
        },
        "summary": "Create a policy for an instance group manager",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_policy.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"manager_type\": \"scheduled\",\n      \"metric_type\": \"cpu\",\n      \"metric_value\": 50,\n      \"policy_type\": \"target\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "prototype := &vpcv1.InstanceGroupManagerPolicyPrototype{\n  PolicyType: \"target\",\n  MetricType: \"cpu\",\n  MetricValue: 20,\n}\noptions := &vpcv1.CreateInstanceGroupManagerPolicyOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.SetInstanceGroupManagerPolicyPrototype(prototype)\ninstanceGroupManagerPolicy, response, err :=\n  vpcService.CreateInstanceGroupManagerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype instanceGroupManagerPolicyPrototypeModel = new InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype.Builder()\n  .name(\"my-instance-group-manager-policy\")\n  .metricType(\"cpu\")\n  .metricValue(Long.valueOf(\"85\"))\n  .policyType(\"target\")\n  .build();\nCreateInstanceGroupManagerPolicyOptions createInstanceGroupManagerPolicyOptions = new CreateInstanceGroupManagerPolicyOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .instanceGroupManagerPolicyPrototype(instanceGroupManagerPolicyPrototypeModel)\n  .build();\n\nResponse<InstanceGroupManagerPolicy> response = service.createInstanceGroupManagerPolicy(createInstanceGroupManagerPolicyOptions).execute();\nInstanceGroupManagerPolicy instanceGroupManagerPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceGroupId,\n  instanceGroupManagerId,\n  instanceGroupManagerPolicyPrototype: {\n    metric_type: 'cpu',\n    metric_value: 38,\n    policy_type: 'target',\n  },\n};\nconst response = await vpcService.createInstanceGroupManagerPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_group_manager_policy_prototype_model = {}\ninstance_group_manager_policy_prototype_model[\n    'name'] = 'my-instance-group-manager-policy'\ninstance_group_manager_policy_prototype_model['metric_type'] = 'cpu'\ninstance_group_manager_policy_prototype_model['metric_value'] = 38\ninstance_group_manager_policy_prototype_model['policy_type'] = 'target'\n\n\ninstance_group_manager_policy_prototype =\n  instance_group_manager_policy_prototype_model\n\nresponse = service.create_instance_group_manager_policy(\n    instance_group_id,\n    instance_group_manager_id,\n    instance_group_manager_policy_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/policies/{id}": {
      "delete": {
        "description": "This request deletes an instance group manager policy. This operation cannot be reversed.",
        "operationId": "delete_instance_group_manager_policy",
        "responses": {
          "204": {
            "description": "The instance group manager policy was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager policy is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager policy with the specified identifier could not be found."
          }
        },
        "summary": "Delete an instance group manager policy",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_policy.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/policies/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceGroupManagerPolicyOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.SetID(id)\nresponse, err := vpcService.DeleteInstanceGroupManagerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceGroupManagerPolicyOptions deleteInstanceGroupManagerPolicyOptions = new DeleteInstanceGroupManagerPolicyOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceGroupManagerPolicy(deleteInstanceGroupManagerPolicyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceGroupManagerPolicy({\n  instanceGroupId,\n  instanceGroupManagerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_group_manager_policy(\n  instance_group_id,\n  instance_group_manager_id,\n  id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance group manager policy specified\nby identifier in the URL.",
        "operationId": "get_instance_group_manager_policy",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 1,
                  "name": "my-instance-group-manager-policy",
                  "policy_type": "target",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerPolicy"
                }
              }
            },
            "description": "The instance group manager policy was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager policy with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance group manager policy",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_policy.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/policies/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceGroupManagerPolicyOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.SetID(id)\ninstanceGroupManagerPolicy, response, err :=\n  vpcService.GetInstanceGroupManagerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceGroupManagerPolicyOptions getInstanceGroupManagerPolicyOptions = new GetInstanceGroupManagerPolicyOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .id(policyId)\n  .build();\n\nResponse<InstanceGroupManagerPolicy> response = service.getInstanceGroupManagerPolicy(getInstanceGroupManagerPolicyOptions).execute();\nInstanceGroupManagerPolicy instanceGroupManagerPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceGroupManagerPolicy({\n  instanceGroupId,\n  instanceGroupManagerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_group_manager_policy(\n  instance_group_id,\n  instance_group_manager_id,\n  id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupManagerId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupManagerPolicyIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance group manager policy.",
        "operationId": "update_instance_group_manager_policy",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "metric_type": "cpu",
                "metric_value": 1,
                "name": "my-instance-group-manager-policy"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupManagerPolicyPatch"
              }
            }
          },
          "description": "The instance group manager policy patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 1,
                  "name": "my-instance-group-manager-policy",
                  "policy_type": "target",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupManagerPolicy"
                }
              }
            },
            "description": "The instance group manager policy was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group manager policy patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager policy is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group manager policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group manager policy patch conflicts with another policy\nfor the instance group manager."
          }
        },
        "summary": "Update an instance group manager policy",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.manager_policy.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/$instance_group_manager_id/policies/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"metric_type\": \"cpu\",\n      \"metric_value\": 50\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceGroupManagerPolicyOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetInstanceGroupManagerID(instanceGroupManagerID)\noptions.SetID(id)\noptions.SetMetricValue(50)\ninstanceGroupManagerPolicy, response, err :=\n  vpcService.UpdateInstanceGroupManagerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceGroupManagerPolicyOptions updateInstanceGroupManagerPolicyOptions = new UpdateInstanceGroupManagerPolicyOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .instanceGroupManagerId(managerId)\n  .id(policyId)\n  .metricValue(Long.valueOf(\"85\"))\n  .build();\n\nResponse<InstanceGroupManagerPolicy> response = service.updateInstanceGroupManagerPolicy(updateInstanceGroupManagerPolicyOptions).execute();\nInstanceGroupManagerPolicy instanceGroupManagerPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceGroupId,\n  instanceGroupManagerId,\n  id,\n  metric_type: 'cpu',\n  metric_value: 33,\n};\n\nconst response = await vpcService.updateInstanceGroupManagerPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "name = 'my-instance-group-manager-policy'\nmetric_type = 'cpu'\nmetric_value = 38\n\nresponse = service.update_instance_group_manager_policy(\n    instance_group_id,\n    instance_group_manager_id,\n    id,\n    name=name,\n    metric_type=metric_type,\n    metric_value=metric_value)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instance_groups/{instance_group_id}/memberships": {
      "delete": {
        "description": "This request deletes memberships of an instance group. This operation cannot be reversed.\nMemberships that have `delete_instance_on_membership_delete` set to `true` will also have\ntheir instances deleted.",
        "operationId": "delete_instance_group_memberships",
        "responses": {
          "204": {
            "description": "The instance group memberships were deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group memberships are not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group with the specified identifier could not be found."
          }
        },
        "summary": "Delete memberships from an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.membership.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/memberships?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceGroupMembershipsOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\nresponse, err := vpcService.DeleteInstanceGroupMemberships(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceGroupMembershipsOptions deleteInstanceGroupMembershipsOptions = new DeleteInstanceGroupMembershipsOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .build();\n\nResponse<Void> response = service.deleteInstanceGroupMemberships(deleteInstanceGroupMembershipsOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceGroupMemberships({\n  instanceGroupId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_group_memberships(instance_group_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request lists instance group memberships for an instance group.",
        "operationId": "list_instance_group_memberships",
        "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/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships?limit=20"
                  },
                  "limit": 20,
                  "memberships": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "instance_template": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                      "pool_member": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "status": "deleting",
                      "updated_at": "2026-01-02T03:04:05.006Z"
                    }
                  ],
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instance_groups/r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/memberships?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupMembershipCollection"
                }
              }
            },
            "description": "The instance group memberships were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group with the specified identifier could not be found."
          }
        },
        "summary": "List memberships for an instance group",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.membership.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/memberships?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceGroupMembershipsOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\ninstanceGroupMemberships, response, err :=\n  vpcService.ListInstanceGroupMemberships(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceGroupMembershipsOptions listInstanceGroupMembershipsOptions = new ListInstanceGroupMembershipsOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .build();\n\nResponse<InstanceGroupMembershipCollection> response = service.listInstanceGroupMemberships(listInstanceGroupMembershipsOptions).execute();\nInstanceGroupMembershipCollection instanceGroupMembershipCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceGroupMemberships({ instanceGroupId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_group_memberships(instance_group_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        }
      ]
    },
    "/instance_groups/{instance_group_id}/memberships/{id}": {
      "delete": {
        "description": "This request deletes a memberships of an instance group. This operation cannot be reversed.\nreversed. If the membership has `delete_instance_on_membership_delete` set to `true`, the\ninstance will also be deleted.",
        "operationId": "delete_instance_group_membership",
        "responses": {
          "204": {
            "description": "The instance group membership was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group membership is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group membership with the specified identifier could not be found."
          }
        },
        "summary": "Delete an instance group membership",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.membership.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required when `delete_membership_on_instance_delete` is `true`",
              "name": "is.instance-group.instance-group.update"
            },
            {
              "name": "is.instance.instance.delete"
            },
            {
              "description": "Required when the instance group manages a load balancer",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/memberships/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceGroupMembershipOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetID(id)\nresponse, err := vpcService.DeleteInstanceGroupMembership(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceGroupMembershipOptions deleteInstanceGroupMembershipOptions = new DeleteInstanceGroupMembershipOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceGroupMembership(deleteInstanceGroupMembershipOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceGroupMembership({\n  instanceGroupId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_group_membership(instance_group_id,\n                                            id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance group membership specified\nby identifier in the URL.",
        "operationId": "get_instance_group_membership",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "instance_template": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                  "pool_member": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "status": "deleting",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupMembership"
                }
              }
            },
            "description": "The instance group membership was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group membership with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance group membership",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.membership.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/memberships/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceGroupMembershipOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetID(id)\ninstanceGroupMembership, response, err :=\n  vpcService.GetInstanceGroupMembership(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceGroupMembershipOptions getInstanceGroupMembershipOptions = new GetInstanceGroupMembershipOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .id(id)\n  .build();\n\nResponse<InstanceGroupMembership> response = service.getInstanceGroupMembership(getInstanceGroupMembershipOptions).execute();\nInstanceGroupMembership instanceGroupMembership = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceGroupMembership({\n  instanceGroupId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_group_membership(instance_group_id,\n  id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceGroupId"
        },
        {
          "$ref": "#/components/parameters/instanceGroupMembershipIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance group membership with the\ninformation provided instance group membership patch.",
        "operationId": "update_instance_group_membership",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "delete_instance_on_membership_delete": true,
                "name": "my-instance-group-membership"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceGroupMembershipPatch"
              }
            }
          },
          "description": "The instance group membership patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "instance_template": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-template:0717-e6c2c7d8-ad57-4f38-a21c-a86265b6aeb2",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                  "pool_member": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "status": "deleting",
                  "updated_at": "2026-01-02T03:04:05.006Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceGroupMembership"
                }
              }
            },
            "description": "The instance group membership was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance group membership patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group membership is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance group membership with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance group membership patch conflicts with another membership for\nthe instance group."
          }
        },
        "summary": "Update an instance group membership",
        "tags": [
          "Instance groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance-group.membership.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance-group.instance-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instance_groups/$instance_group_id/memberships/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-instance-group-membership\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceGroupMembershipOptions{}\noptions.SetInstanceGroupID(instanceGroupID)\noptions.SetID(id)\noptions.SetName(\"my-instance-group-membership\")\ninstanceGroupMembership, response, err :=\n  vpcService.UpdateInstanceGroupMembership(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceGroupMembershipOptions updateInstanceGroupMembershipOptions = new UpdateInstanceGroupMembershipOptions.Builder()\n  .instanceGroupId(instanceGroupId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<InstanceGroupMembership> response = service.updateInstanceGroupMembership(updateInstanceGroupMembershipOptions).execute();\nInstanceGroupMembership instanceGroupMembership = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstanceGroupMembership({\n  instanceGroupId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_instance_group_membership(instance_group_id,\n  id,\n  name=new_name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances": {
      "get": {
        "description": "This request lists instances in the region.",
        "operationId": "list_instances",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/instanceAvailabilityClass"
          },
          {
            "$ref": "#/components/parameters/instanceClusterNetwork"
          },
          {
            "$ref": "#/components/parameters/instanceClusterNetworkByCRN"
          },
          {
            "$ref": "#/components/parameters/instanceClusterNetworkByName"
          },
          {
            "$ref": "#/components/parameters/instanceDedicatedHost"
          },
          {
            "$ref": "#/components/parameters/instanceDedicatedHostByCRN"
          },
          {
            "$ref": "#/components/parameters/instanceDedicatedHostByName"
          },
          {
            "$ref": "#/components/parameters/instanceInstanceGroupMembershipInstanceGroup"
          },
          {
            "$ref": "#/components/parameters/instanceInstanceGroupMembershipInstanceGroupByCRN"
          },
          {
            "$ref": "#/components/parameters/instancePlacementGroup"
          },
          {
            "$ref": "#/components/parameters/instancePlacementGroupByCRN"
          },
          {
            "$ref": "#/components/parameters/instancePlacementGroupByName"
          },
          {
            "$ref": "#/components/parameters/instanceReservationAffinityPolicy"
          },
          {
            "$ref": "#/components/parameters/reservation"
          },
          {
            "$ref": "#/components/parameters/reservationByCRN"
          },
          {
            "$ref": "#/components/parameters/reservationByName"
          },
          {
            "$ref": "#/components/parameters/vpc"
          },
          {
            "$ref": "#/components/parameters/vpcByCRN"
          },
          {
            "$ref": "#/components/parameters/vpcByName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instances?limit=20"
                  },
                  "instances": [
                    {
                      "availability": {},
                      "availability_policy": {
                        "host_failure": "restart",
                        "preemption": "delete"
                      },
                      "bandwidth": 1000,
                      "boot_volume_attachment": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      },
                      "catalog_offering": {
                        "plan": {
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          }
                        },
                        "version": {
                          "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"
                        }
                      },
                      "cluster_network": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "cluster_network_attachments": [
                        {
                          "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-network-attachment",
                          "resource_type": "instance_cluster_network_attachment"
                        }
                      ],
                      "confidential_compute_mode": "disabled",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-host",
                        "resource_type": "dedicated_host"
                      },
                      "disks": [
                        {
                          "created_at": "2026-01-02T03:04:05.006Z",
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                          "interface_type": "nvme",
                          "name": "my-instance-disk",
                          "resource_type": "instance_disk",
                          "size": 100
                        }
                      ],
                      "enable_secure_boot": true,
                      "gpu": {
                        "count": 1,
                        "manufacturer": "amd",
                        "memory": 1,
                        "model": "Tesla V100"
                      },
                      "health_reasons": [
                        {
                          "code": "reservation_capacity_unavailable",
                          "message": "The reservation cannot be used because it has expired.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                        }
                      ],
                      "health_state": "degraded",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "image"
                      },
                      "instance_group_membership": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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_group": {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        },
                        "name": "my-instance-group-membership"
                      },
                      "lifecycle_reasons": [
                        {
                          "code": "failed_licensing",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "memory": 64,
                      "metadata_service": {
                        "enabled": true,
                        "protocol": "http",
                        "response_hop_limit": 1
                      },
                      "name": "my-instance",
                      "network_attachments": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "192.168.3.4",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "name": "my-reserved-ip",
                            "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",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "192.168.3.4",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "name": "my-reserved-ip",
                            "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",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "primary_network_attachment": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "reservation_affinity": {
                        "policy": "automatic",
                        "pool": [
                          {
                            "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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"
                          }
                        ]
                      },
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "instance",
                      "software_attachments": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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-software-attachment",
                          "resource_type": "instance_software_attachment"
                        }
                      ],
                      "startable": true,
                      "status": "deleting",
                      "status_reasons": [
                        {
                          "code": "cannot_start",
                          "message": "The virtual server instance is unusable because the encryption key for the boot volume\nhas been deleted",
                          "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                        }
                      ],
                      "threads_per_core": 1,
                      "total_network_bandwidth": 500,
                      "total_volume_bandwidth": 500,
                      "vcpu": {
                        "architecture": "amd64",
                        "burst": {
                          "limit": 200
                        },
                        "count": 4,
                        "manufacturer": "amd",
                        "percentage": 100
                      },
                      "volume_attachments": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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"
                          }
                        }
                      ],
                      "volume_bandwidth_qos_mode": "pooled",
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/instances?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceCollection"
                }
              }
            },
            "description": "The instances were retrieved successfully."
          }
        },
        "summary": "List instances",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.list"
            },
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstancesOptions{}\ninstances, response, err := vpcService.ListInstances(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstancesOptions listInstancesOptions = new ListInstancesOptions.Builder()\n  .build();\n\nResponse<InstanceCollection> response = service.listInstances(listInstancesOptions).execute();\nInstanceCollection instanceCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstances();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instances()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request provisions a new instance from an instance prototype object. The prototype\nobject is structured in the same way as a retrieved instance, and contains the\ninformation necessary to provision the new instance. The instance is automatically\nstarted.\n\nFor this request to succeed, the properties in the request must adhere to the source's\n`allowed_use` property.",
        "operationId": "create_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "availability": {},
                "availability_policy": {
                  "host_failure": "restart",
                  "preemption": "delete"
                },
                "boot_volume_attachment": {
                  "delete_volume_on_instance_delete": true,
                  "name": "my-volume-attachment",
                  "volume": {
                    "allowed_use": {
                      "api_version": "2024-06-23",
                      "bare_metal_server": "enable_secure_boot == true",
                      "instance": "gpu.count > 0 && enable_secure_boot == true"
                    },
                    "bandwidth": 1000,
                    "capacity": 100,
                    "encryption_key": {
                      "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                    },
                    "iops": 10000,
                    "name": "my-volume",
                    "profile": {
                      "name": "general-purpose"
                    },
                    "resource_group": {
                      "id": "fee82deba12e4c0fb69c3b09d1f12345"
                    },
                    "user_tags": []
                  }
                },
                "cluster_network_attachments": [
                  {
                    "cluster_network_interface": {
                      "auto_delete": true,
                      "name": "my-cluster-network-interface",
                      "primary_ip": {
                        "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                      },
                      "subnet": {
                        "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                      }
                    },
                    "name": "my-instance-network-attachment"
                  }
                ],
                "confidential_compute_mode": "disabled",
                "default_trusted_profile": {
                  "auto_link": true,
                  "target": {
                    "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
                  }
                },
                "enable_secure_boot": true,
                "image": {
                  "id": "r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8"
                },
                "keys": [
                  {
                    "id": "r006-82679077-ac3b-4c10-be16-63e9c21f0f45"
                  }
                ],
                "metadata_service": {
                  "enabled": true,
                  "protocol": "http",
                  "response_hop_limit": 2
                },
                "name": "my-instance",
                "network_attachments": [
                  {
                    "name": "my-instance-network-attachment",
                    "virtual_network_interface": {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "enable_infrastructure_nat": true,
                      "ips": [
                        {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        }
                      ],
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      },
                      "protocol_state_filtering_mode": "auto",
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "security_groups": [
                        {
                          "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                        }
                      ],
                      "subnet": {
                        "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                      }
                    }
                  }
                ],
                "placement_target": {
                  "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a"
                },
                "primary_network_attachment": {
                  "name": "my-instance-network-attachment",
                  "virtual_network_interface": {
                    "allow_ip_spoofing": true,
                    "auto_delete": true,
                    "enable_infrastructure_nat": true,
                    "ips": [
                      {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      }
                    ],
                    "name": "my-virtual-network-interface",
                    "primary_ip": {
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                    },
                    "protocol_state_filtering_mode": "auto",
                    "resource_group": {
                      "id": "fee82deba12e4c0fb69c3b09d1f12345"
                    },
                    "security_groups": [
                      {
                        "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                      }
                    ],
                    "subnet": {
                      "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                    }
                  }
                },
                "profile": {
                  "name": "bx2-4x16"
                },
                "reservation_affinity": {
                  "policy": "automatic",
                  "pool": [
                    {
                      "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                    }
                  ]
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "threads_per_core": 1,
                "total_volume_bandwidth": 500,
                "user_data": "[...]",
                "vcpu": {
                  "percentage": 100
                },
                "volume_attachments": [
                  {
                    "delete_volume_on_instance_delete": true,
                    "name": "my-volume-attachment",
                    "volume": {
                      "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                    }
                  }
                ],
                "volume_bandwidth_qos_mode": "pooled",
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/InstancePrototype"
              }
            }
          },
          "description": "The instance prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "availability": {},
                  "availability_policy": {
                    "host_failure": "restart",
                    "preemption": "delete"
                  },
                  "bandwidth": 1000,
                  "boot_volume_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  },
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "cluster_network": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "cluster_network_attachments": [
                    {
                      "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-network-attachment",
                      "resource_type": "instance_cluster_network_attachment"
                    }
                  ],
                  "confidential_compute_mode": "disabled",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-host",
                    "resource_type": "dedicated_host"
                  },
                  "disks": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "interface_type": "nvme",
                      "name": "my-instance-disk",
                      "resource_type": "instance_disk",
                      "size": 100
                    }
                  ],
                  "enable_secure_boot": true,
                  "gpu": {
                    "count": 1,
                    "manufacturer": "amd",
                    "memory": 1,
                    "model": "Tesla V100"
                  },
                  "health_reasons": [
                    {
                      "code": "reservation_capacity_unavailable",
                      "message": "The reservation cannot be used because it has expired.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                    }
                  ],
                  "health_state": "degraded",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "instance_group_membership": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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_group": {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    },
                    "name": "my-instance-group-membership"
                  },
                  "lifecycle_reasons": [
                    {
                      "code": "failed_licensing",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 64,
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http",
                    "response_hop_limit": 1
                  },
                  "name": "my-instance",
                  "network_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "primary_network_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "instance",
                  "software_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-software-attachment",
                      "resource_type": "instance_software_attachment"
                    }
                  ],
                  "startable": true,
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_start",
                      "message": "The virtual server instance is unusable because the encryption key for the boot volume\nhas been deleted",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "threads_per_core": 1,
                  "total_network_bandwidth": 500,
                  "total_volume_bandwidth": 500,
                  "vcpu": {
                    "architecture": "amd64",
                    "burst": {
                      "limit": 200
                    },
                    "count": 4,
                    "manufacturer": "amd",
                    "percentage": 100
                  },
                  "volume_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "volume_bandwidth_qos_mode": "pooled",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/Instance"
                }
              }
            },
            "description": "The instance was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance prototype object conflicts with another instance in the region, or the\nprovided instance prototype object specified one or more of:\n\n- An image that is not provisionable\n- A placement target that does not support the instance profile\n- A placement target and reservation attachment policy that conflict with each other"
          }
        },
        "summary": "Create an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.instance.create"
            },
            {
              "description": "Generated for each instance network attachment created",
              "name": "is.instance.network-attachment.create"
            },
            {
              "description": "Generated for each instance network interface created",
              "name": "is.instance.network-interface.create"
            },
            {
              "description": "Generated for each resource being attached to an instance network interface:\n- reserved IPs\n- security groups",
              "name": "is.instance.network-interface.attach"
            },
            {
              "description": "Generated for each reserved IP being attached to:\n- an instance network interface, or\n- a virtual network interface",
              "name": "is.subnet.reserved-ip.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.reserved-ip.create"
            },
            {
              "description": "Generated for each security group being attached to:\n- an instance network interface, or\n- a new virtual network interface",
              "name": "is.security-group.security-group.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Generated for each cluster network interface attached",
              "name": "is.cluster-network.interface.attach"
            },
            {
              "description": "Generated for each cluster network attachment specifies a new cluster network\ninterface",
              "name": "is.cluster-network.interface.create"
            },
            {
              "description": "Generated for each cluster subnet reserved IP created",
              "name": "is.cluster-network.subnet.update"
            },
            {
              "description": "Generated for each cluster network attachment that specifies a new cluster\nnetwork interface",
              "name": "is.cluster-network.subnet-reserved-ip.attach"
            },
            {
              "description": "Generated for each cluster subnet reserved IP created",
              "name": "is.cluster-network.subnet-reserved-ip.create"
            },
            {
              "description": "Generated for each cluster network attachment created",
              "name": "is.instance.cluster-network-attachment.attach"
            },
            {
              "description": "Generated for each cluster network attachment created",
              "name": "is.instance.cluster-network-attachment.create"
            },
            {
              "description": "Generated for each software attachment created.",
              "name": "is.instance.software-attachment.create"
            },
            {
              "description": "Generated for each virtual network interface created",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Generated for:\n- each virtual network interface being attached to an instance network attachment\n- each virtual network interface for each reserved IP being attached to it\n- each virtual network interface for each security group being attached to it",
              "name": "is.virtual-network-interface.virtual-network-interface.attach"
            },
            {
              "description": "Generated for each virtual network interface being attached to an instance\nnetwork attachment",
              "name": "is.instance.network-attachment.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.create"
            },
            {
              "description": "Required when `allow_ip_spoofing` is `true` on any instance network interface",
              "name": "is.instance.instance.ip-spoofing"
            },
            {
              "description": "Required for each subnet with an existing reserved IP being attached to an\ninstance network interface or to a virtual network interface",
              "name": "is.subnet.subnet.operate"
            },
            {
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Required when `reservation_affinity.pools` is specified.",
              "name": "is.reservation.reservation.operate"
            },
            {
              "description": "Required when `image` is specified, or `boot_volume_attachment` or\n`volume_attachments` specifies a new volume",
              "name": "is.volume.volume.create"
            },
            {
              "description": "Required when `allowed_use` is specified.",
              "name": "is.volume.volume.manage-allowed-use"
            },
            {
              "description": "Required when `boot_volume_attachment` or `volume_attachments` specifies an existing\nvolume",
              "name": "is.volume.volume.operate"
            },
            {
              "description": "Required for instance network interfaces, or for instance network attachments that\nspecify a new virtual network interface",
              "name": "is.security-group.security-group.operate"
            },
            {
              "name": "is.vpc.vpc.operate"
            },
            {
              "description": "Required when `keys` is specified",
              "name": "is.key.key.operate"
            },
            {
              "description": "Required when `image` is specified",
              "name": "is.image.image.operate"
            },
            {
              "description": "Required when `placement_target` specifies a dedicated host group",
              "name": "is.dedicated-host.dedicated-host-group.operate"
            },
            {
              "description": "Required when `placement_target` specifies a dedicated host",
              "name": "is.dedicated-host.dedicated-host.operate"
            },
            {
              "description": "Required when `boot_volume_attachment` or `volume_attachments` specifies a\n`source_snapshot` (in the calling account) to create a volume from.",
              "name": "is.snapshot.snapshot.operate"
            },
            {
              "description": "Required when `placement_target` specifies a placement group",
              "name": "is.placement-group.placement-group.operate"
            },
            {
              "description": "Required when `catalog_offering` is specified",
              "name": "globalcatalog-collection.instance.retrieve"
            },
            {
              "description": "Required when `default_trusted_profile.target` specifies a trusted profile",
              "name": "iam-identity.profile.get"
            },
            {
              "description": "Required when `default_trusted_profile.auto_link` is `true`",
              "name": "iam-identity.profile.update"
            },
            {
              "description": "Required when `default_trusted_profile.auto_link` is `true`",
              "name": "iam-identity.profile.linkToResource"
            },
            {
              "description": "Required when `boot_volume_attachment` or `volume_attachments` specifies a\n`source_snapshot` (in a different account) to create a volume from.",
              "name": "is.volume.volume.allow-remote-account-snapshot-restore"
            },
            {
              "description": "Required for each instance cluster network attachment that specifies a new cluster\nnetwork interface.",
              "name": "is.cluster-network.interface.create"
            },
            {
              "description": "Required for each instance cluster network attachment that specifies an existing\ncluster network interface.",
              "name": "is.cluster-network.interface.operate"
            },
            {
              "description": "Required for each instance cluster network attachment that specifies a new cluster\nnetwork interface with an existing cluster network subnet reserved IP.",
              "name": "is.cluster-network.subnet.operate"
            },
            {
              "description": "Required for each instance cluster network attachment that specifies a new cluster\nnetwork interface and a new cluster network subnet reserved IP.",
              "name": "is.cluster-network.subnet.update"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Required for instance network attachments that specify an existing virtual\nnetwork interface",
              "name": "is.virtual-network-interface.virtual-network-interface.operate"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface with `enable_infrastructure_nat` set to `false`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface with `allow_ip_spoofing` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-ip-spoofing"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface with `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/instances?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"boot_volume_attachment\": {\n    \"volume\": {\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      \"name\": \"my-boot-volume\",\n      \"profile\": {\n        \"name\": \"general-purpose\"\n      }\n    }\n  },\n  \"image\": {\n    \"id\": \"r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8\"\n  },\n  \"keys\": [\n    {\n      \"id\": \"r006-82679077-ac3b-4c10-be16-63e9c21f0f45\"\n    }\n  ],\n  \"name\": \"my-instance\",\n  \"placement_target\": {\n    \"id\": \"r006-418fe842-a3e9-47b9-a938-1aa5bd632871\"\n  },\n  \"primary_network_interface\": {\n    \"name\": \"my-network-interface\",\n    \"subnet\": {\n      \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n    }\n  },\n  \"profile\": {\n    \"name\": \"bx2-2x8\"\n  },\n  \"volume_attachments\": [\n    {\n      \"volume\": {\n        \"capacity\": 1000,\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        \"name\": \"my-data-volume\",\n        \"profile\": {\n          \"name\": \"5iops-tier\"\n        }\n      }\n    }\n  ],\n  \"vpc\": {\n    \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n  },\n  \"zone\": {\n    \"name\": \"us-south-1\"\n  }\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateInstanceOptions{}\noptions.SetInstancePrototype(&vpcv1.InstancePrototype{\n  Name: &name,\n  Image: &vpcv1.ImageIdentity{\n    ID: &imageID,\n    },\n  Profile: &vpcv1.InstanceProfileIdentity{\n    Name: &profileName,\n    },\n  Zone: &vpcv1.ZoneIdentity{\n    Name: &zoneName,\n    },\n  PrimaryNetworkInterface: &vpcv1.NetworkInterfacePrototype{\n    Subnet: &vpcv1.SubnetIdentity{\n      ID: &subnetId,\n      },\n    },\n  Keys: []vpcv1.KeyIdentityIntf{\n    &vpcv1.KeyIdentity{\n      ID: &keyID,\n      },\n    },\n  VPC: &vpcv1.VPCIdentity{\n    ID: &vpcID,\n    },\n  })\n  instance, response, err = vpcService.CreateInstance(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "KeyIdentityById keyIdentityModel = new KeyIdentityById.Builder()\n.id(keyId)\n.build();\nInstanceProfileIdentityByName instanceProfileIdentityModel = new InstanceProfileIdentityByName.Builder()\n  .name(profileName)\n  .build();\nVPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nSubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n  .id(subnetId)\n  .build();\nNetworkInterfacePrototype networkInterfacePrototypeModel = new NetworkInterfacePrototype.Builder()\n  .subnet(subnetIdentityModel)\n  .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n  .name(zoneName)\n  .build();\nImageIdentityById imageIdentityModel = new ImageIdentityById.Builder()\n  .id(imageId)\n  .build();\nInstancePrototypeInstanceByImage instancePrototypeModel = new InstancePrototypeInstanceByImage.Builder()\n  .name(\"my-instance\")\n  .keys(new java.util.ArrayList<KeyIdentity>(java.util.Arrays.asList(keyIdentityModel)))\n  .profile(instanceProfileIdentityModel)\n  .vpc(vpcIdentityModel)\n  .primaryNetworkInterface(networkInterfacePrototypeModel)\n  .zone(zoneIdentityModel)\n  .image(imageIdentityModel)\n  .build();\nCreateInstanceOptions createInstanceOptions = new CreateInstanceOptions.Builder()\n  .instancePrototype(instancePrototypeModel)\n  .build();\n\nResponse<Instance> response = service.createInstance(createInstanceOptions).execute();\nInstance instance = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const subnetIdentityModel = {\n  id: subnetId,\n};\n\nconst networkInterfacePrototypeModel = {\n  name: 'my-network-interface',\n  subnet: subnetIdentityModel,\n};\n\nconst instanceProfileIdentityModel = {\n  name: instanceProfileName,\n};\n\nconst vpcIdentityModel = {\n  id: vpcId,\n};\n\nconst zoneIdentityModel = {\n  name: zoneName,\n};\n\nconst imageIdentityModel = {\n  id: imageId,\n};\n\nconst instancePrototype = {\n  name: 'my-instance',\n  profile: instanceProfileIdentityModel,\n  vpc: vpcIdentityModel,\n  primary_network_interface: networkInterfacePrototypeModel,\n  zone: zoneIdentityModel,\n  image: imageIdentityModel,\n};\nconst response = await vpcService.createInstance(instancePrototype);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "encryption_key_identity_model = {}\nencryption_key_identity_model['crn'] = my_key_crn\n\nvolume_profile_identity_model = {}\nvolume_profile_identity_model['name'] = 'general-purpose'\n\nsecurity_group_identity_model = {}\nsecurity_group_identity_model['id'] = security_group_id\n\nsubnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\n\nvolume_attachment_prototype_instance_context_volume_model = {}\nvolume_attachment_prototype_instance_context_volume_model['id'] = volume_id\n\nvolume_prototype_instance_by_image_context_model = {}\nvolume_prototype_instance_by_image_context_model['capacity'] = 100\nvolume_prototype_instance_by_image_context_model['iops'] = 10000\nvolume_prototype_instance_by_image_context_model['name'] = 'my-volume'\nvolume_prototype_instance_by_image_context_model[\n    'profile'] = volume_profile_identity_model\n\nimage_identity_model = {}\nimage_identity_model['id'] = image\n\ninstance_profile_identity_model = {}\ninstance_profile_identity_model['name'] = profile\n\nkey_identity_model = {}\nkey_identity_model['id'] = my_key_id\n\nnetwork_interface_prototype_model = {}\nnetwork_interface_prototype_model['name'] = 'my-network-interface'\nnetwork_interface_prototype_model['primary_ipv4_address'] = '10.0.0.5'\nnetwork_interface_prototype_model['security_groups'] = [\n    security_group_identity_model\n]\nnetwork_interface_prototype_model['subnet'] = subnet_identity_model\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nvpc_identity_model = {}\nvpc_identity_model['id'] = vpc_id\n\nvolume_attachment_prototype_instance_by_image = {}\nvolume_attachment_prototype_instance_by_image[\n    'delete_volume_on_instance_delete'] = True\nvolume_attachment_prototype_instance_by_image[\n    'name'] = 'my-volume-attachment'\nvolume_attachment_prototype_instance_by_image[\n    'volume'] = volume_prototype_instance_by_image_context_model\n\nvolume_attachment_prototype_instance_context_model = {}\nvolume_attachment_prototype_instance_context_model[\n    'delete_volume_on_instance_delete'] = True\nvolume_attachment_prototype_instance_context_model[\n    'name'] = 'my-volume-attachment'\nvolume_attachment_prototype_instance_context_model[\n    'volume'] = volume_attachment_prototype_instance_context_volume_model\n\nzone_identity_model = {}\nzone_identity_model['name'] = zoneName\n\ninstance_prototype_model = {}\ninstance_prototype_model['keys'] = [key_identity_model]\ninstance_prototype_model['name'] = 'my-instance'\ninstance_prototype_model['network_interfaces'] = [\n    network_interface_prototype_model\n]\ninstance_prototype_model['profile'] = instance_profile_identity_model\ninstance_prototype_model[\n    'resource_group'] = resource_group_identity_model\ninstance_prototype_model['user_data'] = 'testString'\ninstance_prototype_model['volume_attachments'] = [\n    volume_attachment_prototype_instance_context_model\n]\ninstance_prototype_model['vpc'] = vpc_identity_model\ninstance_prototype_model[\n    'boot_volume_attachment'] = volume_attachment_prototype_instance_by_image\ninstance_prototype_model['image'] = image_identity_model\ninstance_prototype_model[\n    'primary_network_interface'] = network_interface_prototype_model\ninstance_prototype_model['zone'] = zone_identity_model\n\ninstance_prototype = instance_prototype_model\n\nresponse = service.create_instance(instance_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{id}": {
      "delete": {
        "description": "This request deletes an instance. This operation cannot be reversed. Any floating IPs\nassociated with instance network interfaces are implicitly disassociated. All virtual\nnetwork interfaces with `auto_delete` set to `true` targeting instance network\nattachments on the instance are automatically deleted. All flow log collectors with\n`auto_delete` set to `true` targeting the instance, the instance network attachments,\nthe instance network interfaces, or the automatically deleted virtual network interfaces\nare automatically deleted.",
        "operationId": "delete_instance",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "204": {
            "description": "The instance was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance 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 instance"
          }
        },
        "summary": "Delete an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.instance.delete"
            },
            {
              "description": "Generated for each network attachment on the instance",
              "name": "is.instance.network-attachment.delete"
            },
            {
              "description": "Generated for each network attachment on the instance",
              "name": "is.instance.network-attachment.detach"
            },
            {
              "description": "Generated for each network interface on the instance",
              "name": "is.instance.network-interface.delete"
            },
            {
              "description": "Generated for each resource attached to a network interface on the instance:\n- reserved IPs\n- security groups",
              "name": "is.instance.network-interface.detach"
            },
            {
              "description": "Generated for each reserved IP that was attached to:\n- a network interface on the instance, or\n- a virtual network interface that 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:\n- a network interface on the instance, or\n- a virtual network interface that had `auto_delete` set to `true`",
              "name": "is.subnet.reserved-ip.delete"
            },
            {
              "description": "Generated for each security group that was attached to:\n- a network interface on the instance, or\n- a virtual network interface that had `auto_delete` set to `true`",
              "name": "is.security-group.security-group.detach"
            },
            {
              "description": "Generated for each reserved IP that had `auto_delete` set to `true`",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Generated for:\n- each attached virtual network interface\n- each virtual network interface that had `auto_delete` set to `true`, for each\n  attached reserved IP",
              "name": "is.virtual-network-interface.virtual-network-interface.detach"
            },
            {
              "description": "Generated for each virtual network interface that had `auto_delete` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.delete"
            },
            {
              "description": "Generated for each floating IP that was attached to:\n- a network interface on the instance, or\n- a virtual network interface that had `auto_delete` set to `true`",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated for each flow log collector that had `auto_delete` set to `true` that was\nattached to:\n- the instance\n- a network interface on the instance\n- a network attachment on the instance\n- a virtual network interface that had `auto_delete` set to `true`",
              "name": "is.flow-log-collector.flow-log-collector.delete"
            },
            {
              "description": "Generated for each flow log collector that was attached to:\n- the instance\n- a network interface on the instance\n- a network attachment on the instance\n- a virtual network interface that had `auto_delete` set to `true`",
              "name": "is.flow-log-collector.flow-log-collector.detach"
            },
            {
              "description": "Generated for each cluster network interface with `auto_delete` set to `true`",
              "name": "is.cluster-network.interface.delete"
            },
            {
              "description": "Generated for each attached cluster network interface, and also for the cluster\nnetwork reserved IP that was attached to the cluster network interface if the\ncluster network interface had `auto_delete` set to `true`",
              "name": "is.cluster-network.interface.detach"
            },
            {
              "description": "Generated for each cluster network reserved IP if `auto_delete` is set to `true`\nthat was attached to a cluster network interface that had `auto_delete` set to\n`true`",
              "name": "is.cluster-network.subnet-reserved-ip.delete"
            },
            {
              "description": "Generated for each cluster network reserved IP that was attached to a cluster\nnetwork interface that had `auto_delete` set to `true`",
              "name": "is.cluster-network.subnet-reserved-ip.detach"
            },
            {
              "description": "Generated for each cluster network reserved IP that had `auto_delete` set to `true`\nthat was attached to a cluster network interface that had `auto_delete` set to\n`true`",
              "name": "is.cluster-network.subnet.update"
            },
            {
              "description": "Generated for each cluster network interface that is attached to this instance",
              "name": "is.instance.cluster-network-attachment.delete"
            },
            {
              "description": "Generated for each cluster network interface that is attached to this instance",
              "name": "is.instance.cluster-network-attachment.detach"
            },
            {
              "description": "Generated for each software attachment on the instance.",
              "name": "is.instance.software-attachment.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instances/$instance_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeleteInstance(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceOptions deleteInstanceOptions = new DeleteInstanceOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstance(deleteInstanceOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstance({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance specified by the identifier in the URL.",
        "operationId": "get_instance",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "availability": {},
                  "availability_policy": {
                    "host_failure": "restart",
                    "preemption": "delete"
                  },
                  "bandwidth": 1000,
                  "boot_volume_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  },
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "cluster_network": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "cluster_network_attachments": [
                    {
                      "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-network-attachment",
                      "resource_type": "instance_cluster_network_attachment"
                    }
                  ],
                  "confidential_compute_mode": "disabled",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-host",
                    "resource_type": "dedicated_host"
                  },
                  "disks": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "interface_type": "nvme",
                      "name": "my-instance-disk",
                      "resource_type": "instance_disk",
                      "size": 100
                    }
                  ],
                  "enable_secure_boot": true,
                  "gpu": {
                    "count": 1,
                    "manufacturer": "amd",
                    "memory": 1,
                    "model": "Tesla V100"
                  },
                  "health_reasons": [
                    {
                      "code": "reservation_capacity_unavailable",
                      "message": "The reservation cannot be used because it has expired.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                    }
                  ],
                  "health_state": "degraded",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "instance_group_membership": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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_group": {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    },
                    "name": "my-instance-group-membership"
                  },
                  "lifecycle_reasons": [
                    {
                      "code": "failed_licensing",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 64,
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http",
                    "response_hop_limit": 1
                  },
                  "name": "my-instance",
                  "network_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "primary_network_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "instance",
                  "software_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-software-attachment",
                      "resource_type": "instance_software_attachment"
                    }
                  ],
                  "startable": true,
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_start",
                      "message": "The virtual server instance is unusable because the encryption key for the boot volume\nhas been deleted",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "threads_per_core": 1,
                  "total_network_bandwidth": 500,
                  "total_volume_bandwidth": 500,
                  "vcpu": {
                    "architecture": "amd64",
                    "burst": {
                      "limit": 200
                    },
                    "count": 4,
                    "manufacturer": "amd",
                    "percentage": 100
                  },
                  "volume_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "volume_bandwidth_qos_mode": "pooled",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/Instance"
                }
              }
            },
            "description": "The instance was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceOptions{}\noptions.SetID(instanceID)\ninstance, response, err := vpcService.GetInstance(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceOptions getInstanceOptions = new GetInstanceOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Instance> response = service.getInstance(getInstanceOptions).execute();\nInstance instance = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstance({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance with the information in a provided instance patch. The\ninstance patch object is structured in the same way as a retrieved instance and contains\nonly the information to be updated.\n\nFor this request to succeed, the properties in the request must adhere to the\n`allowed_use` property in the volume referenced by `boot_volume_attachment.volume`.",
        "operationId": "update_instance",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "availability": {},
                "availability_policy": {
                  "host_failure": "restart",
                  "preemption": "delete"
                },
                "confidential_compute_mode": "disabled",
                "enable_secure_boot": true,
                "metadata_service": {
                  "enabled": true,
                  "protocol": "http",
                  "response_hop_limit": 1
                },
                "name": "my-instance",
                "placement_target": {
                  "id": "0717-1e09281b-f177-46fb-baf1-bc152b2e391a"
                },
                "profile": {
                  "name": "bx2-4x16"
                },
                "reservation_affinity": {
                  "policy": "automatic",
                  "pool": [
                    {
                      "id": "0717-ba49df72-37b8-43ac-98da-f8e029de0e63"
                    }
                  ]
                },
                "threads_per_core": 1,
                "total_volume_bandwidth": 500,
                "vcpu": {
                  "percentage": 100
                },
                "volume_bandwidth_qos_mode": "pooled"
              },
              "schema": {
                "$ref": "#/components/schemas/InstancePatch"
              }
            }
          },
          "description": "The instance patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "availability": {},
                  "availability_policy": {
                    "host_failure": "restart",
                    "preemption": "delete"
                  },
                  "bandwidth": 1000,
                  "boot_volume_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  },
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "cluster_network": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::cluster-network:0717-da0df18c-7598-4633-a648-fdaac28a5573",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "cluster_network_attachments": [
                    {
                      "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-network-attachment",
                      "resource_type": "instance_cluster_network_attachment"
                    }
                  ],
                  "confidential_compute_mode": "disabled",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-host",
                    "resource_type": "dedicated_host"
                  },
                  "disks": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "interface_type": "nvme",
                      "name": "my-instance-disk",
                      "resource_type": "instance_disk",
                      "size": 100
                    }
                  ],
                  "enable_secure_boot": true,
                  "gpu": {
                    "count": 1,
                    "manufacturer": "amd",
                    "memory": 1,
                    "model": "Tesla V100"
                  },
                  "health_reasons": [
                    {
                      "code": "reservation_capacity_unavailable",
                      "message": "The reservation cannot be used because it has expired.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons"
                    }
                  ],
                  "health_state": "degraded",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "instance_group_membership": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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_group": {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    },
                    "name": "my-instance-group-membership"
                  },
                  "lifecycle_reasons": [
                    {
                      "code": "failed_licensing",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "memory": 64,
                  "metadata_service": {
                    "enabled": true,
                    "protocol": "http",
                    "response_hop_limit": 1
                  },
                  "name": "my-instance",
                  "network_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-group:0717-bcc5b834-1258-4b9c-c3b4-43bc9cf5cde0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "primary_network_attachment": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "reservation_affinity": {
                    "policy": "automatic",
                    "pool": [
                      {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::reservation:0717-ba49df72-37b8-43ac-98da-f8e029de0e63",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    ]
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "instance",
                  "software_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-software-attachment",
                      "resource_type": "instance_software_attachment"
                    }
                  ],
                  "startable": true,
                  "status": "deleting",
                  "status_reasons": [
                    {
                      "code": "cannot_start",
                      "message": "The virtual server instance is unusable because the encryption key for the boot volume\nhas been deleted",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "threads_per_core": 1,
                  "total_network_bandwidth": 500,
                  "total_volume_bandwidth": 500,
                  "vcpu": {
                    "architecture": "amd64",
                    "burst": {
                      "limit": 200
                    },
                    "count": 4,
                    "manufacturer": "amd",
                    "percentage": 100
                  },
                  "volume_attachments": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "volume_bandwidth_qos_mode": "pooled",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/Instance"
                }
              }
            },
            "description": "The instance was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance patch conflicts with another instance in the region,\nor one or more of the following:\n\n- The requested update requires that the instance be stopped first\n- The instance profile does not support the instance configuration"
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value of the instance"
          }
        },
        "summary": "Update an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.instance.update"
            },
            {
              "description": "Generated for each reservation being removed from `reservation_affinity.pool`.",
              "name": "is.instance.instance.detach"
            },
            {
              "description": "Generated for each reservation being removed from `reservation_affinity.pool`.",
              "name": "is.reservation.reservation.detach"
            },
            {
              "description": "Generated for each reservation being added to `reservation_affinity.pool`.",
              "name": "is.instance.instance.attach"
            },
            {
              "description": "Generated for each reservation being added to `reservation_affinity.pool`.",
              "name": "is.reservation.reservation.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            },
            {
              "description": "Required when `reservation_affinity.pools` is specified.",
              "name": "is.reservation.reservation.operate"
            },
            {
              "description": "Required when `placement_target` specifies a dedicated host group, or the placement\ntarget being replaced is a dedicated host group.",
              "name": "is.dedicated-host.dedicated-host-group.operate"
            },
            {
              "description": "Required when `placement_target` specifies a dedicated host, or the placement target\nbeing replaced is a dedicated host.",
              "name": "is.dedicated-host.dedicated-host.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instances/$instance_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\"name\": \"my-instance\"}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceOptions{}\noptions.SetID(id)\noptions.SetName(name)\ninstance, response, err := vpcService.UpdateInstance(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceOptions updateInstanceOptions = new UpdateInstanceOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<Instance> response = service.updateInstance(updateInstanceOptions).execute();\nInstance instance = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstance({\n  id,\n  name: 'my-instance',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_instance(\n  id,\n  name='my-instance',\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{id}/initialization": {
      "get": {
        "description": "This request retrieves configuration used to initialize the instance, such as SSH keys and\nthe Windows administrator password. These can subsequently be changed on the instance and\ntherefore may not be current.",
        "operationId": "get_instance_initialization",
        "parameters": [
          {
            "description": "The instance identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ID"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                      "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"
                    }
                  ],
                  "password": {
                    "encrypted_password": "qQ+/YEApnl1ZtEgIrfprzb065307thTkzlnLqL5ICpesdbBN03dyCQ==",
                    "encryption_key": {
                      "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceInitialization"
                }
              }
            },
            "description": "The initialization configuration was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve initialization configuration for an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": []
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/initialization?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceInitializationOptions{}\noptions.SetID(instanceID)\ninitData, response, err := vpcService.GetInstanceInitialization(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceInitializationOptions getInstanceInitializationOptions = new GetInstanceInitializationOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<InstanceInitialization> response = service.getInstanceInitialization(getInstanceInitializationOptions).execute();\nInstanceInitialization instanceInitialization = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceInitialization({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_initialization(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/instances/{instance_id}/actions": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ],
      "post": {
        "description": "This request creates a new action which will be queued up to run as soon as any pending or\nrunning actions have completed.",
        "operationId": "create_instance_action",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "force": true,
                "type": "reboot"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceActionPrototype"
              }
            }
          },
          "description": "The instance action prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "force": true,
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/actions/109a1b6e-1242-4de1-be44-38705e9474ed",
                  "id": "109a1b6e-1242-4de1-be44-38705e9474ed",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "completed",
                  "type": "reboot"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceAction"
                }
              }
            },
            "description": "The action was created successfully and will run in the order it was received."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified action could not be created."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The action is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "Create an instance action",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.action.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/actions?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\"type\": \"stop\"}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateInstanceActionOptions{}\noptions.SetInstanceID(instanceID)\noptions.SetType(\"stop\")\naction, response, err := vpcService.CreateInstanceAction(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateInstanceActionOptions createInstanceActionOptions = new CreateInstanceActionOptions.Builder()\n  .instanceId(instanceId)\n  .type(\"reboot\")\n  .build();\n\nResponse<InstanceAction> response = service.createInstanceAction(createInstanceActionOptions).execute();\nInstanceAction instanceAction = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceId,\n  type: 'reboot',\n};\nconst response = await vpcService.createInstanceAction(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.create_instance_action(\n    instance_id,\n    typ='reboot',\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/cluster_network_attachments": {
      "get": {
        "description": "This request lists cluster network attachments on an instance. A cluster network\nattachment represents a device on the instance to which a cluster network\ninterface is attached.",
        "operationId": "list_instance_cluster_network_attachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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-fb880975-db45-4459-8548-64e3995ac213",
                        "id": "0717-fb880975-db45-4459-8548-64e3995ac213",
                        "name": "my-instance-network-attachment",
                        "resource_type": "instance_cluster_network_attachment"
                      },
                      "cluster_network_interface": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-instance-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,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentCollection"
                }
              }
            },
            "description": "The instance cluster network attachments were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "List cluster network attachments on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.cluster-network-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/cluster_network_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceClusterNetworkAttachmentsOptions{}\noptions.SetInstanceID(id)\nclusterNetworkAttachmentsCollection, response, err := vpcService.ListInstanceClusterNetworkAttachments(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceClusterNetworkAttachmentsOptions listInstanceClusterNetworkAttachmentsOptions =\n  new ListInstanceClusterNetworkAttachmentsOptions.Builder()\n    .id(instanceId)\n    .build();\n\nResponse<InstanceClusterNetworkAttachmentCollection> response = vpcService\n  .listInstanceClusterNetworkAttachments(listInstanceClusterNetworkAttachmentOptions)\n  .execute();\nInstanceClusterNetworkAttachmentCollection instanceClusterNetworkAttachmentCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceClusterNetworkAttachments({ instanceId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_cluster_network_attachments =\n  service.list_instance_cluster_network_attachments(\n    instance_id=instance_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ],
      "post": {
        "description": "This request creates a cluster network attachment from an instance cluster network\nattachment prototype object. A cluster network attachment will attach the instance to a\ncluster network. The cluster network attachment prototype must specify a cluster network\ninterface identity or a cluster network interface prototype.\n\nThe instance must be in a `stopped` or `stopping` state to create an instance cluster\nnetwork attachment.",
        "operationId": "create_cluster_network_attachment",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "before": {
                  "id": "0717-fb880975-db45-4459-8548-64e3995ac213"
                },
                "cluster_network_interface": {
                  "auto_delete": true,
                  "name": "my-cluster-network-interface",
                  "primary_ip": {
                    "id": "0717-d4d6489a-3bf5-4104-a33a-3572faf2d117"
                  },
                  "subnet": {
                    "id": "0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930"
                  }
                },
                "name": "my-instance-network-attachment"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentPrototype"
              }
            }
          },
          "description": "The instance cluster network attachment prototype object.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "before": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "cluster_network_interface": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-instance-network-attachment",
                  "resource_type": "instance_cluster_network_attachment"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceClusterNetworkAttachment"
                }
              }
            },
            "description": "The instance cluster network attachment was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid cluster network attachment prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network attachment prototype object conflicts with another cluster\nnetwork attachment for the instance."
          }
        },
        "summary": "Create a cluster network attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.cluster-network.interface.attach"
            },
            {
              "description": "Generated when a cluster network attachment specifies a new cluster network interface",
              "name": "is.cluster-network.interface.create"
            },
            {
              "description": "Generated when a cluster subnet reserved IP is created",
              "name": "is.cluster-network.subnet.update"
            },
            {
              "description": "Generated when a cluster network attachment specifies a new cluster network interface",
              "name": "is.cluster-network.subnet-reserved-ip.attach"
            },
            {
              "description": "Generated when a cluster subnet reserved IP is created",
              "name": "is.cluster-network.subnet-reserved-ip.create"
            },
            {
              "name": "is.instance.cluster-network-attachment.attach"
            },
            {
              "name": "is.instance.cluster-network-attachment.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for instance cluster network attachments that specify a new cluster network\ninterface.",
              "name": "is.cluster-network.interface.create"
            },
            {
              "description": "Required for instance cluster network attachments that specify an existing cluster\nnetwork interface.",
              "name": "is.cluster-network.interface.operate"
            },
            {
              "description": "Required for instance cluster network attachments that specify a new cluster network\ninterface with an existing cluster network subnet reserved IP.",
              "name": "is.cluster-network.subnet.operate"
            },
            {
              "description": "Required for instance cluster network attachments that specify a new cluster network\ninterface and a new cluster network subnet reserved IP.",
              "name": "is.cluster-network.subnet.update"
            },
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/cluster_network_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"before\": {\n    \"id\": \"0717-a69563fa-0415-4d6e-aeb3-a3f14654bf90\"\n  },\n  \"cluster_network_interface\": {\n    \"subnet\": {\n      \"id\": \"0717-7931845c-65c4-4b0a-80cd-7d9c1a6d7930\"\n    }\n  },\n  \"name\": \"my-instance-cluster-network-attachment\"\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateInstanceClusterNetworkAttachmentOptions{}\noptions.SetInstanceID(instanceId)\noptions.SetName(\"instance-cluster-network-attachment\")\noptions.SetClusterNetworkInterface(&vpcv1\n.InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity{\n  ID: &clusterNetworkInterfaceId,\n})\nclusterNetworkAttachment, response, err := vpcService.CreateInstanceClusterNetworkAttachment(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ClusterNetworkSubnetIdentityById clusterNetworkSubnetIdentityModel = new\nClusterNetworkSubnetIdentityById.Builder()\n  .id(subnetId)\n  .build();\n\nClusterNetworkInterface clusterNetworkInterfacePrototypeModel = new\nClusterNetworkNetworkInterfacePrototype.Builder()\n  .name(\"my-instance-cluster-network-interface\")\n  .subnet(clusterNetworkSubnetIdentityModel)\n\nInstanceClusterNetworkAttachment instanceClusterNetworkAttachmentPrototypeModel = new InstanceClusterNetworkAttachmentPrototype.Builder()\n  .name(\"my-instance-cluster-network-attachment\")\n  .clusterNetworkInterface(clusterNetworkInterfacePrototypeModel)\n\nCreateInstanceClusterNetworkAttachmentOptions createInstanceClusterNetworkAttachmentOptions = new CreateInstanceClusterNetworkAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .instanceClusterNetworkAttachmentPrototype(instanceClusterNetworkAttachmentPrototypeModel)\n  .build();\n\nResponse<InstanceClusterNetworkAttachment> response = vpcService.createInstanceClusterNetworkAttachment(createInstanceClusterNetworkAttachmentOptions).execute();\nInstanceClusterNetworkAttachment instanceClusterNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const clusterNetworkIdentityModel = {\n  id: clusterNetworkId\n};\n\nconst clusterNetworkInterfaceIdentityModel = {\n  id: clusterNetworkInterfaceId\n};\n\nconst response = await vpcService.createClusterNetworkInterface({\n  clusterNetworkInterface: clusterNetworkInterfaceIdentityModel,\n  instanceId: instanceId,\n  name: \"my-instance-cluster-network-attachment\",\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "cluster_network_subnet_identity_model = {\n  'id': cluster_network_subnet_id\n}\n\ncluster_network_interface_identity_model = {\n  'id': cluster_network_interface_id\n}\n\ninstance_cluster_network_attachment_prototype_model = {\n  'name': 'my-instance-cluster-network-attachment',\n  'cluster_network': cluster_network_identity_model,\n  'cluster_network_subnet': cluster_network_subnet_identity_model\n}\n\ninstance_cluster_network_attachment = service.create_instance_cluster_network_attachment(\n  instance_cluster_network_attachment_prototype=instance_cluster_network_attachment_prototype_model,\n  instance_id=instance_id\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/cluster_network_attachments/{id}": {
      "delete": {
        "description": "This request deletes an instance cluster network attachment. The instance must be in a\n`stopped` or `stopping` state to delete an instance cluster network attachment.\n\nThis operation cannot be reversed.",
        "operationId": "delete_instance_cluster_network_attachment",
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "before": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "cluster_network_interface": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-instance-network-attachment",
                  "resource_type": "instance_cluster_network_attachment"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceClusterNetworkAttachment"
                }
              }
            },
            "description": "The instance network attachment deletion request was accepted."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance cluster network attachment is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance cluster network attachment with the specified identifier could not be\nfound."
          }
        },
        "summary": "Delete an instance cluster network attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "description": "Generated when the cluster network interface had `auto_delete` set to `true`",
              "name": "is.cluster-network.interface.delete"
            },
            {
              "description": "Generated for the attached cluster network interface, and also for the cluster\nnetwork reserved IP that was attached to the cluster network interface if the\ncluster network interface had `auto_delete` set to `true`",
              "name": "is.cluster-network.interface.detach"
            },
            {
              "description": "Generated for the cluster network reserved IP if `auto_delete` is set to `true` that\nwas attached to a cluster network interface that had `auto_delete` set to `true`",
              "name": "is.cluster-network.subnet-reserved-ip.delete"
            },
            {
              "description": "Generated for the cluster network reserved IP that was attached to a cluster network\ninterface that had `auto_delete` set to `true`",
              "name": "is.cluster-network.subnet-reserved-ip.detach"
            },
            {
              "description": "Generated for the cluster network reserved IP that had `auto_delete` set to `true`\nthat was attached to a cluster network interface that had `auto_delete` set to `true`",
              "name": "is.cluster-network.subnet.update"
            },
            {
              "name": "is.instance.cluster-network-attachment.delete"
            },
            {
              "name": "is.instance.cluster-network-attachment.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/cluster_network_attachments/$cluster_network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceClusterNetworkAttachmentOptions{}\noptions.SetID(clusterNetworkAttachmentID)\noptions.SetInstanceID(instanceID)\nresponse, err := vpcService.DeleteInstanceClusterNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceClusterNetworkAttachmentOptions deleteInstanceClusterNetworkAttachmentOptions = new\nDeleteInstanceClusterNetworkAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(instanceClusterNetworkAttachmentId)\n  .build();\n\nResponse<Void> response = vpcService\n  .deleteInstanceClusterNetworkAttachment(deleteInstanceClusterNetworkAttachmentOptions)\n  .execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceClusterNetworkAttachment({\n  instanceId,\n  instanceClusterNetworkAttachmentId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_cluster_network_attachment(\n  instance_id=instance_id,\n  id=instance_cluster_network_attachment_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance cluster network attachment specified by the\nidentifier in the URL.",
        "operationId": "get_instance_cluster_network_attachment",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "before": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "cluster_network_interface": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-instance-network-attachment",
                  "resource_type": "instance_cluster_network_attachment"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceClusterNetworkAttachment"
                }
              }
            },
            "description": "The instance cluster network attachment was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance cluster network attachment with the specified identifier could not be\nfound."
          }
        },
        "summary": "Retrieve an instance cluster network attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.cluster-network-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/cluster_network_attachments/$cluster_network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceClusterNetworkAttachmentOptions{}\noptions.SetID(clusterNetworkAttachmentID)\noptions.SetInstanceID(instanceID)\nclusterNetworkAttachment, response, err := vpcService.GetInstanceClusterNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceClusterNetworkAttachmentOptions getInstanceClusterNetworkAttachmentOptions = new\nGetInstanceClusterNetworkAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(instanceClusterNetworkAttachmentId)\n  .build();\n\nResponse<InstanceClusterNetworkAttachment> response = vpcService\n  .getInstanceClusterNetworkAttachment(getInstanceClusterNetworkAttachmentOptions).execute();\nInstanceClusterNetworkAttachment instanceClusterNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceClusterNetworkAttachments({\n  instanceId,\n  instanceClusterNetworkAttachmentId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_cluster_network_attachment =\n  service.get_instance_cluster_network_attachment(\n    instance_id=instance_id,\n    id=instance_cluster_network_attachment_id\n  ).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceClusterNetworkAttachmentIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance cluster network attachment with the information provided\nin an instance network interface patch object. The instance cluster network attachment\npatch object is structured in the same way as a retrieved instance cluster network\nattachment and needs to contain only the information to be updated.",
        "operationId": "update_instance_cluster_network_attachment",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-instance-network-attachment-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceClusterNetworkAttachmentPatch"
              }
            }
          },
          "description": "The instance cluster network attachment patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "before": {
                    "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-network-attachment",
                    "resource_type": "instance_cluster_network_attachment"
                  },
                  "cluster_network_interface": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-instance-network-attachment",
                  "resource_type": "instance_cluster_network_attachment"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceClusterNetworkAttachment"
                }
              }
            },
            "description": "The instance cluster network attachment was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance cluster network attachment patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance cluster network attachment with the specified identifier could not be\nfound."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The cluster network attachment patch conflicts with another cluster network\nattachment for the instance."
          }
        },
        "summary": "Update an instance cluster network attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.cluster-network-attachment.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/cluster_network_attachments/$cluster_network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-instance-cluster-network-attachment-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceClusterNetworkAttachmentOptions{}\noptions.SetID(clusterNetworkAttachmentID)\noptions.SetInstanceID(instanceID)\noptions.SetName(name)\nclusterNetworkAttachment, response, err := vpcService.UpdateInstanceClusterNetworkAttachment(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceClusterNetworkAttachmentOptions updateInstanceClusterNetworkAttachmentOptions = new\nUpdateInstanceClusterNetworkAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(instanceClusterNetworkAttachmentId)\n  .name(\"my-instance-cluster-network-attachment-update\")\n  .build();\n\nResponse<InstanceClusterNetworkAttachment> response = vpcService\n  .updateInstanceClusterNetworkAttachment(updateInstanceClusterNetworkAttachmentOptions).execute();\nInstanceClusterNetworkAttachment instanceClusterNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstanceClusterNetworkAttachment({\n  instanceId: instanceId,\n  id: instanceClusterNetworkAttachmentId,\n  name: 'my-instance-cluster-network-attachment-updated'\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_cluster_network_attachment_patch_model = {\n  'name'='my-instance-cluster-network-attachment-update'\n}\ninstance_cluster_network_attachment = service.update_instance_cluster_network_attachment(\n    instance_id=instance_id,\n    id=instance_cluster_network_attachment_id,\n    instance_cluster_network_attachment_patch=instance_cluster_network_attachment_patch_model\n).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/console": {
      "get": {
        "description": "This retrieves a WebSocket providing a console for the instance.  An `access_token` must\nfirst be created using the `console_access_token` API.  The `serial` WebSocket provides\na TTY based interface.  The `vnc` WebSocket provides a VNC based graphical interface.",
        "operationId": "get_instance_console",
        "parameters": [
          {
            "$ref": "#/components/parameters/instanceConsoleAccessToken"
          }
        ],
        "responses": {
          "101": {
            "description": "A WebSocket connection was established."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The open console limit for virtual server instances was reached."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance console access token was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          },
          "426": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The WebSocket protocol is required."
          }
        },
        "summary": "Retrieve the console WebSocket for an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.console.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": []
        },
        "x-sdk-exclude": true
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ]
    },
    "/instances/{instance_id}/console_access_token": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ],
      "post": {
        "description": "This request creates a new single-use console access token for an instance.\nAll console configuration is provided at token create time, and the token is\nsubsequently used in the `access_token` query parameter for the WebSocket request.  The\naccess token is only valid for a short period of time, and a maximum of one token is valid\nfor a given instance at a time.",
        "operationId": "create_instance_console_access_token",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "console_type": "serial",
                "force": true
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceConsoleAccessTokenPrototype"
              }
            }
          },
          "description": "The instance console access token prototype",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
                  "console_type": "serial",
                  "created_at": "2020-07-27T21:50:14.000Z",
                  "expires_at": "2020-07-27T21:51:14.000Z",
                  "force": true,
                  "href": "wss://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceConsoleAccessToken"
                }
              }
            },
            "description": "The access token was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance console access token prototype object was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The access token is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "Create a console access token for an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.console-access-token.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.operate"
            },
            {
              "name": "is.instance.instance.console"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/console_access_token?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"console_type\": \"serial\",\n      \"force\": true\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "createInstanceConsoleAccessTokenOptions :=\n  vpcService.NewCreateInstanceConsoleAccessTokenOptions(\n    instanceID,\n    console_type='serial',\n  )\ninstanceConsoleAccessToken, response, err :=\n  vpcService.CreateInstanceConsoleAccessToken(createInstanceConsoleAccessTokenOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateInstanceConsoleAccessTokenOptions createInstanceConsoleAccessTokenOptions = new CreateInstanceConsoleAccessTokenOptions.Builder()\n  .instanceId(instanceId)\n  .consoleType(\"serial\")\n  .build();\n\nResponse<InstanceConsoleAccessToken> response = service.createInstanceConsoleAccessToken(createInstanceConsoleAccessTokenOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceId,\n  consoleType: 'serial',\n};\n\nconst response = await vpcService.createInstanceConsoleAccessToken(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_console_access_token = vpc_service.create_instance_console_access_token(\n            instance_id,\n            console_type='serial'\n        )"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/disks": {
      "get": {
        "description": "This request lists disks on an instance.  A disk is a block device that is\nlocally attached to the instance's physical host and is also referred to as instance\nstorage. By default, the listed disks are sorted by their `created_at` property\nvalues, with the newest disk first.",
        "operationId": "list_instance_disks",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "disks": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                      "interface_type": "nvme",
                      "name": "my-instance-disk",
                      "resource_type": "instance_disk",
                      "size": 100
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceDiskCollection"
                }
              }
            },
            "description": "The instance disks were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "List disks on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.disk.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/disks?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listInstanceDisksOptions := vpcService.NewListInstanceDisksOptions(\n  instanceID,\n)\ninstanceDisksCollection, response, err :=\n  vpcService.ListInstanceDisks(listInstanceDisksOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceDisksOptions listInstanceDisksOptions = new ListInstanceDisksOptions.Builder()\n  .instanceId(instanceId)\n  .build();\n\nResponse<InstanceDiskCollection> response = service.listInstanceDisks(listInstanceDisksOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceDisks({instanceId})"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_disk_collection = vpc_service.list_instance_disks(\n    instance_id,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ]
    },
    "/instances/{instance_id}/disks/{id}": {
      "get": {
        "description": "This request retrieves a single instance disk specified by the identifier in the URL.",
        "operationId": "get_instance_disk",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                  "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                  "interface_type": "nvme",
                  "name": "my-instance-disk",
                  "resource_type": "instance_disk",
                  "size": 100
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceDisk"
                }
              }
            },
            "description": "The instance disk was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance disk with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance disk",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.disk.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/disks/$disk_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getInstanceDiskOptions := vpcService.NewGetInstanceDiskOptions(\n  instanceID,\n  diskID,\n)\n\ninstanceDisk, response, err := vpcService.GetInstanceDisk(getInstanceDiskOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceDiskOptions getInstanceDiskOptions = new GetInstanceDiskOptions.Builder()\n  .instanceId(instanceId)\n  .id(diskId)\n  .build();\n\nResponse<InstanceDisk> response = service.getInstanceDisk(getInstanceDiskOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceDisk({instanceId, id})"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_disk = vpc_service.get_instance_disk(\n    instance_id,\n    id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/diskIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates the instance disk with the information in a provided patch.",
        "operationId": "update_instance_disk",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-instance-disk-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceDiskPatch"
              }
            }
          },
          "description": "The instance disk patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/disks/10c02d81-0ecb-4dc5-897d-28392913b81e",
                  "id": "10c02d81-0ecb-4dc5-897d-28392913b81e",
                  "interface_type": "nvme",
                  "name": "my-instance-disk",
                  "resource_type": "instance_disk",
                  "size": 100
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceDisk"
                }
              }
            },
            "description": "The instance disk was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance disk patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance disk is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance disk with the specified identifier could not be found for the specified\ninstance."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance disk patch conflicts with another disk for the instance."
          }
        },
        "summary": "Update an instance disk",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.disk.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/disks/$disk_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-instance-disk-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "instanceDiskPatchModel := &vpcv1.InstanceDiskPatch{\n  Name: &name,\n}\ninstanceDiskPatchModelAsPatch, asPatchErr := instanceDiskPatchModel.AsPatch()\nupdateInstanceDiskOptions := vpcService.NewUpdateInstanceDiskOptions(\n  instanceID,\n  diskID,\n  instanceDiskPatchModelAsPatch,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "InstanceDiskPatch instanceDiskPatchModel = new InstanceDiskPatch.Builder()\n  .name(\"my-disk-update\")\n  .build();\nMap<String, Object> instanceDiskPatchModelAsPatch = instanceDiskPatchModel.asPatch();\nUpdateInstanceDiskOptions updateInstanceDiskOptions = new UpdateInstanceDiskOptions.Builder()\n  .instanceId(instanceId)\n  .id(diskId)\n  .instanceDiskPatch(instanceDiskPatchModelAsPatch)\n  .build();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstanceDisk({\n  instanceId,\n  id,\n  name,\n})"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_disk_patch_model = {\n    name='my-disk-updated'\n}\n\ninstance_disk = vpc_service.update_instance_disk(\n    instance_id,\n    id,\n    instance_disk_patch=instance_disk_patch_model\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/network_attachments": {
      "get": {
        "description": "This request lists network attachments on an instance. A network attachment\nrepresents a device on the instance to which a virtual network interface is attached.\n\nThe network attachments will be sorted by their `created_at` property values, with newest\nnetwork attachments first. Network attachments with identical `created_at` property values\nwill in turn be sorted by ascending `name` property values.",
        "operationId": "list_instance_network_attachments",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "network_attachments": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "deleting",
                      "name": "my-instance-network-attachment",
                      "port_speed": 1000,
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceNetworkAttachmentCollection"
                }
              }
            },
            "description": "The instance network attachments were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "List network attachments on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceNetworkAttachmentsOptions{}\noptions.SetInstanceID(id)\nnetworkAttachmentsCollection, response, err := vpcService.ListInstanceNetworkAttachments(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceNetworkAttachmentsOptions listInstanceNetworkAttachmentsOptions = new ListInstanceNetworkAttachmentsOptions.Builder()\n  .instanceId(instanceId)\n  .build();\n\nResponse<InstanceNetworkAttachmentCollection> response = vpcService.listInstanceNetworkAttachments(listInstanceNetworkAttachmentsOptions).execute();\nInstanceNetworkAttachmentCollection instanceNetworkAttachmentCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceNetworkAttachments({ instanceId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.list_instance_network_attachments(\n    instance_id=instance_id,\n)\ninstance_network_attachment_collection = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ],
      "post": {
        "description": "This request creates a new instance network attachment from an instance network attachment\nprototype object. The prototype object is structured in the same way as a retrieved\ninstance network attachment, and contains the information necessary to create the new\ninstance network attachment.",
        "operationId": "create_instance_network_attachment",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-instance-network-attachment",
                "virtual_network_interface": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "enable_infrastructure_nat": true,
                  "ips": [
                    {
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                    }
                  ],
                  "name": "my-virtual-network-interface",
                  "primary_ip": {
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                  },
                  "protocol_state_filtering_mode": "auto",
                  "resource_group": {
                    "id": "fee82deba12e4c0fb69c3b09d1f12345"
                  },
                  "security_groups": [
                    {
                      "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                    }
                  ],
                  "subnet": {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                }
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceNetworkAttachmentPrototype"
              }
            }
          },
          "description": "The instance network attachment prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-instance-network-attachment",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceNetworkAttachment"
                }
              }
            },
            "description": "The instance network attachment was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance network attachment prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network attachment prototype object conflicts with another network\nattachment for the instance."
          }
        },
        "summary": "Create a network attachment on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "description": "Generated for each virtual network interface created",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Generated for:\n- each virtual network interface being attached to an instance network attachment\n- each virtual network interface for each reserved IP being attached to it\n- each virtual network interface for each security group being attached to it",
              "name": "is.virtual-network-interface.virtual-network-interface.attach"
            },
            {
              "description": "Generated for each virtual network interface being attached to an instance\nnetwork attachment",
              "name": "is.instance.network-attachment.attach"
            },
            {
              "name": "is.instance.network-attachment.create"
            },
            {
              "description": "Generated for each security group being attached to a new virtual network interface",
              "name": "is.security-group.security-group.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 a virtual network interface",
              "name": "is.subnet.reserved-ip.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface",
              "name": "is.security-group.security-group.operate"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface and an existing reserved IP on a subnet",
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface and a new reserved IP on a subnet",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface",
              "name": "is.virtual-network-interface.virtual-network-interface.create"
            },
            {
              "description": "Required for instance network attachments that specify an existing virtual\nnetwork interface",
              "name": "is.virtual-network-interface.virtual-network-interface.operate"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface with `enable_infrastructure_nat` set to `false`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface with `allow_ip_spoofing` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.manage-ip-spoofing"
            },
            {
              "description": "Required for instance network attachments that specify a new virtual network\ninterface with `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/instances/$instance_id/network_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-instance-network-attachment\",\n      \"virtual_network_interface\": {\n        \"id\": \"0717-54eb57ee-86f2-4796-90bb-d7874e0831ef\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateInstanceNetworkAttachmentOptions{}\noptions.SetInstanceID(instanceId)\noptions.SetName(\"instance-network-attachment\")\noptions.SetVirtualNetworkInterface(&vpcv1.InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity{\n  ID: &virtualNetworkInterfaceId,\n})\nnetworkAttachment, response, err := vpcService.CreateInstanceNetworkAttachment(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext virtualNetworkInterfacePrimaryIpPrototypeModel = new VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext.Builder()\n  .address(\"10.0.0.7\")\n  .autoDelete(false)\n  .build();\nInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext instanceNetworkAttachmentPrototypeVirtualNetworkInterfaceModel = new InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext.Builder()\n  .primaryIp(virtualNetworkInterfacePrimaryIpPrototypeModel)\n  .build();\nCreateInstanceNetworkAttachmentOptions createInstanceNetworkAttachmentOptions = new CreateInstanceNetworkAttachmentOptions.Builder()\n  .instanceId(\"testString\")\n  .name(\"my-instance-network-attachment\")\n  .virtualNetworkInterface(instanceNetworkAttachmentPrototypeVirtualNetworkInterfaceModel)\n  .build();\n\nResponse<InstanceNetworkAttachment> response = vpcService.createInstanceNetworkAttachment(createInstanceNetworkAttachmentOptions).execute();\nInstanceNetworkAttachment instanceNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const virtualNetworkInterfacePrimaryIpPrototypeModel = {\n    address: '10.0.0.7',\n    auto_delete: false,\n  };\n  const instanceNetworkAttachmentPrototypeVirtualNetworkInterfaceModel = {\n    primary_ip: virtualNetworkInterfacePrimaryIpPrototypeModel,\n  };\n  const params = {\n    instanceId: instanceId,\n    name: 'my-instance-network-attachment',\n    virtualNetworkInterface: instanceNetworkAttachmentPrototypeVirtualNetworkInterfaceModel,\n  };\n  const response  = await vpcService.createInstanceNetworkAttachment(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "virtual_network_interface_primary_ip_prototype_model = {\n    'address': '10.0.0.7',\n}\nsubnet_identity_model = {}\nsubnet_identity_model['id'] = subnetId\ninstance_network_attachment_prototype_virtual_network_interface_model = {\n    'primary_ip': virtual_network_interface_primary_ip_prototype_model,\n    'subnet': subnet_identity_model,\n}\nresponse = vpc_service.create_instance_network_attachment(\n    instance_id=instance_id,\n    name='my-instance-network-attachment',\n    virtual_network_interface=instance_network_attachment_prototype_virtual_network_interface_model,\n)\ninstance_network_attachment = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/network_attachments/{id}": {
      "delete": {
        "description": "This request deletes an instance network attachment. This operation cannot be reversed. Any\nfloating IPs associated with the instance network attachment are implicitly disassociated.\nAll flow log collectors with `auto_delete` set to `true` targeting the instance network\nattachment are automatically deleted. The primary instance network attachment is not\nallowed to be deleted.",
        "operationId": "delete_instance_network_attachment",
        "responses": {
          "202": {
            "description": "The instance network attachment deletion request was accepted."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network attachment is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network attachment with the specified identifier could not be found."
          }
        },
        "summary": "Delete an instance network attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-attachment.delete"
            },
            {
              "description": "Generated for each resource that was attached to this instance network attachment:\n- a flow log collector\n- a virtual network interface",
              "name": "is.instance.network-attachment.detach"
            },
            {
              "description": "Generated for the attached virtual network interface, and also for each reserved IP\nthat was attached to the virtual network interface if the virtual network interface\nhad `auto_delete` set to `true`",
              "name": "is.virtual-network-interface.virtual-network-interface.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 each floating IP that was attached to a virtual network interface that\nhad `auto_delete` set to `true`",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated for each reserved IP that was attached to an virtual network interface that\nhad `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 attached\nto 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 attached\nto 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"
            },
            {
              "description": "Generated for each flow log collector that had `auto_delete` set to `true` that was\nattached to:\n- this instance network attachment\n- a virtual network interface that had `auto_delete` set to `true`",
              "name": "is.flow-log-collector.flow-log-collector.delete"
            },
            {
              "description": "Generated for each flow log collector that was attached to:\n- this instance network attachment\n- a virtual network interface that had `auto_delete` set to `true`",
              "name": "is.flow-log-collector.flow-log-collector.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_attachments/$network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceNetworkAttachmentOptions{}\noptions.SetID(networkAttachmentID)\noptions.SetInstanceID(instanceID)\nresponse, err := vpcService.DeleteInstanceNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceNetworkAttachmentOptions deleteInstanceNetworkAttachmentOptions = new DeleteInstanceNetworkAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(instanceNetworkAttachmentId)\n  .build();\n\nResponse<Void> response = vpcService.deleteInstanceNetworkAttachment(deleteInstanceNetworkAttachmentOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceNetworkAttachment({\n  instanceId,\n  instanceNetworkAttachmentId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.delete_instance_network_attachment(\n    instance_id=instance_id,\n    id=instance_network_attachment_id,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance network attachment specified by the identifier\nin the URL.",
        "operationId": "get_instance_network_attachment",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-instance-network-attachment",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceNetworkAttachment"
                }
              }
            },
            "description": "The instance network attachment was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network attachment with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance network attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_attachments/$network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceNetworkAttachmentOptions{}\noptions.SetID(networkAttachmentID)\noptions.SetInstanceID(instanceID)\nnetworkAttachment, response, err := vpcService.GetInstanceNetworkAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceNetworkAttachmentOptions getInstanceNetworkAttachmentOptions = new GetInstanceNetworkAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(instanceNetworkAttachmentId)\n  .build();\n\nResponse<InstanceNetworkAttachment> response = vpcService.getInstanceNetworkAttachment(getInstanceNetworkAttachmentOptions).execute();\nInstanceNetworkAttachment instanceNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceNetworkAttachment({\n  instanceId,\n  instanceNetworkAttachmentId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.get_instance_network_attachment(\n    instance_id=instance_id,\n    id=instance_network_attachment_id,\n)\ninstance_network_attachment = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceNetworkAttachmentIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance network attachment with the information provided in an\ninstance network interface patch object. The instance network attachment patch object is\nstructured in the same way as a retrieved instance network attachment and needs to contain\nonly the information to be updated.",
        "operationId": "update_instance_network_attachment",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-instance-network-attachment-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceNetworkAttachmentPatch"
              }
            }
          },
          "description": "The instance network attachment patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-instance-network-attachment",
                  "port_speed": 1000,
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceNetworkAttachment"
                }
              }
            },
            "description": "The instance network attachment was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance network attachment patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network attachment with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network attachment patch conflicts with another network attachment\nfor the instance."
          }
        },
        "summary": "Update an instance network attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-attachment.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_attachments/$network_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-instance-network-attachment-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceNetworkAttachmentOptions{}\noptions.SetID(networkAttachmentID)\noptions.SetInstanceID(instanceID)\noptions.SetName(name)\nnetworkAttachment, response, err := vpcService.UpdateInstanceNetworkAttachment(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "InstanceNetworkAttachmentPatch instanceNetworkAttachmentPatchModel = new InstanceNetworkAttachmentPatch.Builder()\n  .name(\"my-instance-network-attachment-updated\")\n  .build();\nMap<String, Object> instanceNetworkAttachmentPatchModelAsPatch = instanceNetworkAttachmentPatchModel.asPatch();\nUpdateInstanceNetworkAttachmentOptions updateInstanceNetworkAttachmentOptions = new UpdateInstanceNetworkAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(instanceNetworkAttachmentId)\n  .instanceNetworkAttachmentPatch(instanceNetworkAttachmentPatchModelAsPatch)\n  .build();\n\nResponse<InstanceNetworkAttachment> response = vpcService.updateInstanceNetworkAttachment(updateInstanceNetworkAttachmentOptions).execute();\nInstanceNetworkAttachment instanceNetworkAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceId: instanceId,\n  id: instanceNetworkAttachmentId,\n  name: 'my-instance-network-attachment-updated',\n};\nconst response = await vpcService.updateInstanceNetworkAttachment(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_network_attachment_patch_model = {\n    'name': 'my-instance-network-attachment-updated',\n}\nresponse = vpc_service.update_instance_network_attachment(\n    instance_id=instance_id,\n    id=instance_network_attachment_id,\n    instance_network_attachment_patch=instance_network_attachment_patch_model,\n)\ninstance_network_attachment = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/network_interfaces": {
      "get": {
        "description": "This request lists network interfaces on an instance. An instance network interface\nis an abstract representation of a network device and attaches an instance to a single\nsubnet. Each network interface on an instance can attach to any subnet in the zone,\nincluding subnets that are already attached to the instance. Multiple network interfaces\non the instance may also attach to the same subnet.\n\nIf this instance has network attachments, each returned 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.",
        "operationId": "list_instance_network_interfaces",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "network_interfaces": [
                    {
                      "allow_ip_spoofing": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkInterfaceUnpaginatedCollection"
                }
              }
            },
            "description": "The instance network interfaces were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "List network interfaces on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceNetworkInterfacesOptions{}\noptions.SetInstanceID(id)\nnetworkInterfaces, response, err := vpcService.ListInstanceNetworkInterfaces(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceNetworkInterfacesOptions listInstanceNetworkInterfacesOptions = new ListInstanceNetworkInterfacesOptions.Builder()\n  .instanceId(instanceId)\n  .build();\n\nResponse<NetworkInterfaceUnpaginatedCollection> response = service.listInstanceNetworkInterfaces(listInstanceNetworkInterfacesOptions).execute();\nNetworkInterfaceUnpaginatedCollection networkInterfaceUnpaginatedCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceNetworkInterfaces({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_network_interfaces(instance_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ],
      "post": {
        "description": "This request creates a new instance network interface from an instance network interface\nprototype object. The prototype object is structured in the same way as a retrieved\ninstance network interface, and contains the information necessary to create the new\ninstance network interface. Any subnet in the instance's VPC may be specified. Addresses\non the instance network interface must be within the specified subnet's CIDR blocks.\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, and\nnew network interfaces are not allowed to be created.",
        "operationId": "create_instance_network_interface",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "allow_ip_spoofing": true,
                "name": "my-instance-network-interface",
                "primary_ip": {
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                },
                "security_groups": [
                  {
                    "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                  }
                ],
                "subnet": {
                  "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/NetworkInterfacePrototype"
              }
            }
          },
          "description": "The instance network interface prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkInterface"
                }
              }
            },
            "description": "The instance network interface was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance network interface prototype object was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network interface is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network interface prototype object conflicts with another network\ninterface for the instance."
          }
        },
        "summary": "Create a network interface on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface.create"
            },
            {
              "description": "Generated for each resource being attached to an instance network interface:\n- security groups\n- reserved IPs",
              "name": "is.instance.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 an instance network interface",
              "name": "is.subnet.reserved-ip.attach"
            },
            {
              "description": "Generated for each security group being attached to an instance network interface",
              "name": "is.security-group.security-group.attach"
            },
            {
              "description": "Generated for each reserved IP created",
              "name": "is.subnet.subnet.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            },
            {
              "description": "Required when `allow_ip_spoofing` is `true`",
              "name": "is.instance.instance.ip-spoofing"
            },
            {
              "name": "is.security-group.security-group.operate"
            },
            {
              "description": "Required for instance network interfaces that specify an existing reserved IP on a\nsubnet",
              "name": "is.subnet.subnet.operate"
            },
            {
              "description": "Required for instance 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/instances/$instance_id/network_interfaces?version=2026-06-30&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": [
                      "options := &vpcv1.CreateInstanceNetworkInterfaceOptions{}\noptions.SetInstanceID(id)\noptions.SetName(\"eth1\")\noptions.SetSubnet(&vpcv1.SubnetIdentityByID{\n  ID: &subnetId,\n})\nnetworkInterface, response, err := vpcService.CreateInstanceNetworkInterface(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "SubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n  .id(id)\n  .build();\nCreateInstanceNetworkInterfaceOptions createInstanceNetworkInterfaceOptions = new CreateInstanceNetworkInterfaceOptions.Builder()\n  .instanceId(instanceId)\n  .subnet(subnetIdentityModel)\n  .name(\"my-network-interface\")\n  .build();\n\nResponse<NetworkInterface> response = service.createInstanceNetworkInterface(createInstanceNetworkInterfaceOptions).execute();\nNetworkInterface networkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceId,\n  subnet: { id: subnetID },\n};\nconst response = await vpcService.createInstanceNetworkInterface(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "subnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\n\nsecurity_group_identity_model = {}\nsecurity_group_identity_model['id'] = security_group_id\n\nsubnet = subnet_identity_model\nname = 'eth-1'\nprimary_ipv4_address = '10.0.0.5'\nsecurity_groups = [security_group_identity_model]\n\nresponse = service.create_instance_network_interface(\n    instance_id,\n    subnet,\n    name=name,\n    primary_ipv4_address=primary_ipv4_address,\n    security_groups=security_groups,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/network_interfaces/{id}": {
      "delete": {
        "description": "This request deletes an instance network interface. This operation cannot be reversed.\nAny floating IPs associated with the instance network interface are implicitly\ndisassociated. All flow log collectors with `auto_delete` set to `true` targeting the\ninstance network interface are automatically deleted. The primary instance network\ninterface is not allowed to be deleted.\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, and\nis not allowed to be deleted.",
        "operationId": "delete_instance_network_interface",
        "responses": {
          "204": {
            "description": "The instance network interface was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network interface is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network interface with the specified identifier could not be found."
          }
        },
        "summary": "Delete an instance network interface",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface.delete"
            },
            {
              "description": "Generated for each resource that was attached to this instance network interface:\n- a floating IP\n- a flow log collector\n- a reserved IP\n- security groups",
              "name": "is.instance.network-interface.detach"
            },
            {
              "description": "Generated for each floating IP that was attached to this instance network interface",
              "name": "is.floating-ip.floating-ip.detach"
            },
            {
              "description": "Generated for each security group that was attached to this instance network\ninterface",
              "name": "is.security-group.security-group.detach"
            },
            {
              "description": "Generated for each reserved IP that was attached to this instance network\ninterface",
              "name": "is.subnet.reserved-ip.detach"
            },
            {
              "description": "Generated for each reserved IP that had `auto_delete` set to `true` that was\nattached to this instance network interface",
              "name": "is.subnet.reserved-ip.delete"
            },
            {
              "description": "Generated for each reserved IP that had `auto_delete` set to `true` that was\nattached to this instance network interface",
              "name": "is.subnet.subnet.update"
            },
            {
              "description": "Generated for each flow log collector that had `auto_delete` set to `true` that was\nattached to this instance network interface",
              "name": "is.flow-log-collector.flow-log-collector.delete"
            },
            {
              "description": "Generated for each flow log collector that was attached to this instance network\ninterface",
              "name": "is.flow-log-collector.flow-log-collector.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces/$network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceNetworkInterfaceOptions{}\noptions.SetID(networkInterfaceID)\noptions.SetInstanceID(instanceID)\nresponse, err := vpcService.DeleteInstanceNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceNetworkInterfaceOptions deleteInstanceNetworkInterfaceOptions = new DeleteInstanceNetworkInterfaceOptions.Builder()\n  .instanceId(instanceId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceNetworkInterface(deleteInstanceNetworkInterfaceOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceNetworkInterface({\n  instanceGroupId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_network_interface(instance_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single instance network interface specified by the identifier\nin the URL.\n\nIf this instance has network attachments, the retrieved 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.",
        "operationId": "get_instance_network_interface",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkInterface"
                }
              }
            },
            "description": "The instance network interface was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network interface with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an instance network interface",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces/$network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceNetworkInterfaceOptions{}\noptions.SetID(networkID)\noptions.SetInstanceID(instanceID)\nnetworkInterface, response, err := vpcService.GetInstanceNetworkInterface(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceNetworkInterfaceOptions getInstanceNetworkInterfaceOptions = new GetInstanceNetworkInterfaceOptions.Builder()\n  .instanceId(instanceId)\n  .id(id)\n  .build();\n\nResponse<NetworkInterface> response = service.getInstanceNetworkInterface(getInstanceNetworkInterfaceOptions).execute();\nNetworkInterface networkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceNetworkInterface({\n  instanceId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_network_interface(instance_id,\n network_interface_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceNetworkInterfaceIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance network interface with the information provided in an\ninstance network interface patch object. The instance network interface patch object is\nstructured in the same way as a retrieved instance network interface and needs to\ncontain only the information to be updated.\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, and\nis not allowed to be updated.",
        "operationId": "update_instance_network_interface",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "allow_ip_spoofing": true,
                "name": "my-instance-network-interface"
              },
              "schema": {
                "$ref": "#/components/schemas/NetworkInterfacePatch"
              }
            }
          },
          "description": "The instance network interface patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkInterface"
                }
              }
            },
            "description": "The instance network interface was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance network interface patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network interface is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network interface with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance network interface patch conflicts with another network interface for\nthe instance."
          }
        },
        "summary": "Update an instance network interface",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            },
            {
              "description": "Required when `allow_ip_spoofing` is `true`",
              "name": "is.instance.instance.ip-spoofing"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces/$network_interface_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"allow_ip_spoofing\": true\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceNetworkInterfaceOptions{}\noptions.SetID(networkID)\noptions.SetInstanceID(instanceID)\noptions.SetName(name)\nnetworkInterface, response, err := vpcService.UpdateInstanceNetworkInterface(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceNetworkInterfaceOptions updateInstanceNetworkInterfaceOptions = new UpdateInstanceNetworkInterfaceOptions.Builder()\n  .instanceId(instanceId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<NetworkInterface> response = service.updateInstanceNetworkInterface(updateInstanceNetworkInterfaceOptions).execute();\nNetworkInterface networkInterface = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateInstanceNetworkInterface({\n  instanceId,\n  id,\n  name: 'my-network-interface',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_instance_network_interface(\n    instance_id,\n    network_interface_id,\n    name='eth2',\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/network_interfaces/{network_interface_id}/floating_ips": {
      "get": {
        "description": "This request lists floating IPs associated with an instance network interface.",
        "operationId": "list_instance_network_interface_floating_ips",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "floating_ips": [
                    {
                      "address": "203.0.113.1",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "my-resource-group"
                      },
                      "status": "available",
                      "target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "resource_type": "subnet_reserved_ip"
                        },
                        "resource_type": "network_interface"
                      },
                      "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/FloatingIPUnpaginatedCollection"
                }
              }
            },
            "description": "The associated floating IPs were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network interface with the specified identifier could not be found."
          }
        },
        "summary": "List floating IPs associated with an instance network interface",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface_floating-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            },
            {
              "description": "Required for all floating IPs associated with the instance network interface",
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces/$network_interface_id/floating_ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceNetworkInterfaceFloatingIpsOptions{}\noptions.SetInstanceID(instanceID)\noptions.SetNetworkInterfaceID(networkID)\nfloatingIPs, response, err :=\n  vpcService.ListInstanceNetworkInterfaceFloatingIps(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceNetworkInterfaceFloatingIpsOptions listInstanceNetworkInterfaceFloatingIpsOptions = new ListInstanceNetworkInterfaceFloatingIpsOptions.Builder()\n  .instanceId(instanceId)\n  .networkInterfaceId(networkInterfaceId)\n  .build();\n\nResponse<FloatingIPUnpaginatedCollection> response = service.listInstanceNetworkInterfaceFloatingIps(listInstanceNetworkInterfaceFloatingIpsOptions).execute();\nFloatingIPUnpaginatedCollection floatingIpUnpaginatedCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceNetworkInterfaceFloatingIps({\n  instanceId,\n  networkInterfaceId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_network_interface_floating_ips(\n  instance_id, network_interface_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceNetworkInterfaceId"
        }
      ]
    },
    "/instances/{instance_id}/network_interfaces/{network_interface_id}/floating_ips/{id}": {
      "delete": {
        "description": "This request disassociates the specified floating IP from the specified instance network\ninterface",
        "operationId": "remove_instance_network_interface_floating_ip",
        "responses": {
          "204": {
            "description": "The floating IP was disassociated successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP is not allowed to be disassociated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified floating IP address is not associated with the instance network\ninterface with the specified identifier"
          }
        },
        "summary": "Disassociate a floating IP from an instance network interface",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface.detach"
            },
            {
              "name": "is.floating-ip.floating-ip.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.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/instances/$instance_id/network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.RemoveInstanceNetworkInterfaceFloatingIPOptions{}\noptions.SetID(floatingIpId)\noptions.SetInstanceID(instanceID)\noptions.SetNetworkInterfaceID(networkID)\nresponse, err :=\n  vpcService.RemoveInstanceNetworkInterfaceFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "RemoveInstanceNetworkInterfaceFloatingIpOptions removeInstanceNetworkInterfaceFloatingIpOptions = new RemoveInstanceNetworkInterfaceFloatingIpOptions.Builder()\n  .instanceId(instanceId)\n  .networkInterfaceId(networkInterfaceId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.removeInstanceNetworkInterfaceFloatingIp(removeInstanceNetworkInterfaceFloatingIpOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.removeInstanceNetworkInterfaceFloatingIp({\n  instanceId,\n  networkInterfaceId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.remove_instance_network_interface_floating_ip(\n  instance_id, network_interface_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a specified floating IP address if it is associated with the\ninstance network interface and instance specified in the URL",
        "operationId": "get_instance_network_interface_floating_ip",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "203.0.113.1",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "status": "available",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    },
                    "resource_type": "network_interface"
                  },
                  "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/FloatingIP"
                }
              }
            },
            "description": "The associated floating IP was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP address is not associated with an instance network interface with the\nspecified identifier"
          }
        },
        "summary": "Retrieve associated floating IP",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface_floating-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            },
            {
              "name": "is.floating-ip.floating-ip.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceNetworkInterfaceFloatingIPOptions{}\noptions.SetID(floatingIpId)\noptions.SetInstanceID(instanceID)\noptions.SetNetworkInterfaceID(networkID)\nfloatingIP, response, err :=\n  vpcService.GetInstanceNetworkInterfaceFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceNetworkInterfaceFloatingIpOptions getInstanceNetworkInterfaceFloatingIpOptions = new GetInstanceNetworkInterfaceFloatingIpOptions.Builder()\n  .instanceId(instanceId)\n  .networkInterfaceId(networkInterfaceId)\n  .id(id)\n  .build();\n\nResponse<FloatingIP> response = service.getInstanceNetworkInterfaceFloatingIp(getInstanceNetworkInterfaceFloatingIpOptions).execute();\nFloatingIP floatingIp = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceNetworkInterfaceFloatingIp({\n  instanceId,\n  networkInterfaceId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_network_interface_floating_ip(\n  instance_id, network_interface_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceNetworkInterfaceId"
        },
        {
          "$ref": "#/components/parameters/floatingIPIdUnqualified"
        }
      ],
      "put": {
        "description": "This request associates the specified floating IP with the specified instance network\ninterface, replacing any existing association.\n\nThe existing floating IP must:\n- not be required by another resource, such as a public gateway\n- be in the same `zone` as the instance\n\nA request body is not required, and if provided, is ignored.",
        "operationId": "add_instance_network_interface_floating_ip",
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "address": "203.0.113.1",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "status": "available",
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    },
                    "resource_type": "network_interface"
                  },
                  "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/FloatingIP"
                }
              }
            },
            "description": "The floating IP was successfully associated with the instance network interface."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified floating IP could not be associated with the specified instance network\ninterface."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The floating IP is not allowed to be associated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified instance network interface or floating IP could not be found."
          }
        },
        "summary": "Associate a floating IP with an instance network interface",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.network-interface.attach"
            },
            {
              "name": "is.floating-ip.floating-ip.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for the instance associated with the specified instance network interface,\nand for the instance associated with the instance network interface being replaced\n(if any).",
              "name": "is.instance.instance.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/instances/$instance_id/network_interfaces/$network_interface_id/floating_ips/$floating_ip_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.AddInstanceNetworkInterfaceFloatingIPOptions{}\noptions.SetID(floatingIpId)\noptions.SetInstanceID(instanceID)\noptions.SetNetworkInterfaceID(networkID)\nfloatingIP, response, err :=\n  vpcService.AddInstanceNetworkInterfaceFloatingIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "AddInstanceNetworkInterfaceFloatingIpOptions addInstanceNetworkInterfaceFloatingIpOptions = new AddInstanceNetworkInterfaceFloatingIpOptions.Builder()\n  .instanceId(instanceId)\n  .networkInterfaceId(networkInterfaceId)\n  .id(id)\n  .build();\n\nResponse<FloatingIP> response = service.addInstanceNetworkInterfaceFloatingIp(addInstanceNetworkInterfaceFloatingIpOptions).execute();\nFloatingIP floatingIp = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.addInstanceNetworkInterfaceFloatingIp({\n  instanceId,\n  networkInterfaceId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.add_instance_network_interface_floating_ip(\n  instance_id, network_interface_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/network_interfaces/{network_interface_id}/ips": {
      "get": {
        "deprecated": true,
        "description": "This request lists the primary reserved IP for an instance network interface.",
        "operationId": "list_instance_network_interface_ips",
        "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/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/network_interfaces/0717-d54eb633-98ea-459d-aa00-6a8e780175a7/ips?limit=20"
                  },
                  "ips": [
                    {
                      "address": "192.168.3.4",
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "lifecycle_state": "deleting",
                      "name": "my-reserved-ip",
                      "owner": "provider",
                      "resource_type": "subnet_reserved_ip",
                      "target": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 20,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservedIPCollectionInstanceNetworkInterfaceContext"
                }
              }
            },
            "description": "The reserved IPs were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance network interface with the specified identifier could not be found for\nthe specified instance."
          }
        },
        "summary": "List the primary reserved IP for an instance network interface",
        "tags": [
          "Instances"
        ],
        "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.instance.instance.read"
            },
            {
              "description": "Required for the subnet attached to the instance network interface",
              "name": "is.subnet.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces/$network_interface_id/ips?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceNetworkInterfaceIpsOptions{}\noptions.SetInstanceID(instanceID)\noptions.SetNetworkInterfaceID(networkID)\nreservedIPs, response, err :=\n  vpcService.ListInstanceNetworkInterfaceIps(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceNetworkInterfaceIpsOptions listInstanceNetworkInterfaceIpsOptions = new ListInstanceNetworkInterfaceIpsOptions.Builder()\n  .instanceId(instanceId)\n  .networkInterfaceId(networkInterfaceId)\n  .build();\n\nResponse<ReservedIPUnpaginatedCollection> response = service.listInstanceNetworkInterfaceIps(listInstanceNetworkInterfaceIpsOptions).execute();\nReservedIPUnpaginatedCollection ReservedIpUnpaginatedCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceNetworkInterfaceIps({\n  instanceId,\n  networkInterfaceId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_network_interface_ips(\n  instance_id, network_interface_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceNetworkInterfaceId"
        }
      ]
    },
    "/instances/{instance_id}/network_interfaces/{network_interface_id}/ips/{id}": {
      "get": {
        "deprecated": true,
        "description": "This request retrieves the primary reserved IP for an instance network interface.",
        "operationId": "get_instance_network_interface_ip",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "192.168.3.4",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "lifecycle_state": "deleting",
                  "name": "my-reserved-ip",
                  "owner": "provider",
                  "resource_type": "subnet_reserved_ip",
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservedIP"
                }
              }
            },
            "description": "The bound 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 the primary reserved IP",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.subnet.reserved-ip.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            },
            {
              "description": "Required for the subnet attached to the instance network interface",
              "name": "is.subnet.subnet.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/network_interfaces/$network_interface_id/ips/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceNetworkInterfaceIPOptions{}\noptions.SetID(reservedIpId)\noptions.SetInstanceID(instanceID)\noptions.SetNetworkInterfaceID(networkID)\nreservedIP, response, err :=\n  vpcService.GetInstanceNetworkInterfaceIP(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceNetworkInterfaceIpOptions getInstanceNetworkInterfaceIpOptions = new GetInstanceNetworkInterfaceIpOptions.Builder()\n  .instanceId(instanceId)\n  .networkInterfaceId(networkInterfaceId)\n  .id(id)\n  .build();\n\nResponse<ReservedIP> response = service.getInstanceNetworkInterfaceIp(getInstanceNetworkInterfaceIpOptions).execute();\nReservedIP ReservedIp = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceNetworkInterfaceIp({\n  instanceId,\n  networkInterfaceId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_network_interface_ip(\n  instance_id, network_interface_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceNetworkInterfaceId"
        },
        {
          "$ref": "#/components/parameters/reservedIPIdUnqualified"
        }
      ]
    },
    "/instances/{instance_id}/software_attachments": {
      "get": {
        "description": "This request lists software attachments associated with an instance.\n\nThe instance software attachments will be sorted by their `created_at` property values,\nwith newest instance software attachments first. Software attachments with identical\n`created_at` property values will in turn be sorted by ascending `name` property values.",
        "operationId": "list_instance_software_attachments",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "software_attachments": [
                    {
                      "catalog_offering": {
                        "plan": {
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          }
                        },
                        "version": {
                          "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"
                        }
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "entitlement": {
                        "licensed_software": [
                          {
                            "sku": "FC1-10-IDCLD-445-02-12",
                            "vendor": {
                              "name": "fortinet"
                            }
                          }
                        ]
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "lifecycle_reasons": [
                        {
                          "code": "failed_licensing",
                          "message": "The software instance is being registered with Resource Controller",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#failed-registration"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-software-attachment",
                      "offering_instance": {
                        "crn": "crn:v1:bluemix:public:globalcatalog-instance:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:oi-07a7_26fb923a-873f-43bf-94e5-93431235ad5f-31323517-65cc-49cf-9281-13ee3399b747::"
                      },
                      "resource_type": "instance_software_attachment"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceSoftwareAttachmentCollection"
                }
              }
            },
            "description": "The instance software attachments were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "List instance software attachments associated with an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.software-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            },
            {
              "name": "is.instance.instance.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/instances/$instance_id/software_attachments?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listInstanceSoftwareAttachmentsOptions :=\n    vpcService.NewListInstanceSoftwareAttachmentsOptions(\n        instanceID,\n    )\ninstanceSoftwareAttachmentCollection, response, err :=\n    vpcService.ListInstanceSoftwareAttachments(listInstanceSoftwareAttachmentsOptions)\nif err != nil {\n    panic(err)\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceSoftwareAttachmentsOptions listInstanceSoftwareAttachmentsOptions = new ListInstanceSoftwareAttachmentsOptions.Builder()\n.instanceId(instanceId)\n.build();\nResponse<InstanceSoftwareAttachmentCollection> response =\nvpcService.listInstanceSoftwareAttachments(listInstanceSoftwareAttachmentsOptions).execute();\nInstanceSoftwareAttachmentCollection instanceSoftwareAttachmentCollection = response.getResult();\nSystem.out.println(instanceSoftwareAttachmentCollection);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\ninstanceId: instanceId,};\nlet res;\ntry {\nres = await vpcService.listInstanceSoftwareAttachments(params);\nconsole.log(JSON.stringify(res.result, null, 2));\n} catch (err) {\nconsole.warn(err);\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.list_instance_software_attachments(\n  instance_id=instance_id,)\ninstance_software_attachment_collection = response.get_result()\nprint(json.dumps(instance_software_attachment_collection, indent=2))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ]
    },
    "/instances/{instance_id}/software_attachments/{id}": {
      "get": {
        "description": "This request retrieves a single instance software attachment specified by identifier in\nthe URL.",
        "operationId": "get_instance_software_attachment",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "entitlement": {
                    "licensed_software": [
                      {
                        "sku": "FC1-10-IDCLD-445-02-12",
                        "vendor": {
                          "name": "fortinet"
                        }
                      }
                    ]
                  },
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                  "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                  "lifecycle_reasons": [
                    {
                      "code": "failed_licensing",
                      "message": "The software instance is being registered with Resource Controller",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#failed-registration"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-software-attachment",
                  "offering_instance": {
                    "crn": "crn:v1:bluemix:public:globalcatalog-instance:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:oi-07a7_26fb923a-873f-43bf-94e5-93431235ad5f-31323517-65cc-49cf-9281-13ee3399b747::"
                  },
                  "resource_type": "instance_software_attachment"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceSoftwareAttachment"
                }
              }
            },
            "description": "The instance software attachment was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance software attachment with the specified identifier could not be found for\nthe specified instance."
          }
        },
        "summary": "Retrieve an instance software attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.software-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/instances/$instance_id/software_attachments/$id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getInstanceSoftwareAttachmentOptions :=\n    vpcService.NewGetInstanceSoftwareAttachmentOptions(\n        instanceID,\n        instanceSoftwareAttachmentID,\n    )\ninstanceSoftwareAttachment, response, err :=\n    vpcService.GetInstanceSoftwareAttachment(getInstanceSoftwareAttachmentOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceSoftwareAttachmentOptions getInstanceSoftwareAttachmentOptions = new GetInstanceSoftwareAttachmentOptions.Builder()\n.instanceId(instanceId)\n.id(InstanceSoftwareAttachmentId)\n.build();\nResponse<InstanceSoftwareAttachment> response =vpcService.getInstanceSoftwareAttachment(getInstanceSoftwareAttachmentOptions).execute();\nInstanceSoftwareAttachment instanceSoftwareAttachment = response.getResult();\nSystem.out.println(instanceSoftwareAttachment);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\ninstanceId: instanceId,\nid: InstanceSoftwareAttachmentId,\n};\nlet res;\ntry {\nres = await vpcService.getInstanceSoftwareAttachment(params);\nconsole.log(JSON.stringify(res.result, null, 2));\n} catch (err) {\nconsole.warn(err);\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.get_instance_software_attachment(\n  instance_id=instance_id,\n  id=instance_software_attachment_id,)\ninstance_software_attachment = response.get_result()\nprint(json.dumps(instance_software_attachment, indent=2))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/instanceSoftwareAttachmentIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an instance software attachment with the information provided in an\ninstance software attachment patch object. The instance software attachment patch\nobject is structured in the same way as a retrieved instance software attachment and\nneeds to contain only the information to be updated.",
        "operationId": "update_instance_software_attachment",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-software-attachment-patch"
              },
              "schema": {
                "$ref": "#/components/schemas/InstanceSoftwareAttachmentPatch"
              }
            }
          },
          "description": "The instance software attachment patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "entitlement": {
                    "licensed_software": [
                      {
                        "sku": "FC1-10-IDCLD-445-02-12",
                        "vendor": {
                          "name": "fortinet"
                        }
                      }
                    ]
                  },
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                  "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                  "lifecycle_reasons": [
                    {
                      "code": "failed_licensing",
                      "message": "The software instance is being registered with Resource Controller",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#failed-registration"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-software-attachment",
                  "offering_instance": {
                    "crn": "crn:v1:bluemix:public:globalcatalog-instance:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:oi-07a7_26fb923a-873f-43bf-94e5-93431235ad5f-31323517-65cc-49cf-9281-13ee3399b747::"
                  },
                  "resource_type": "instance_software_attachment"
                },
                "schema": {
                  "$ref": "#/components/schemas/InstanceSoftwareAttachment"
                }
              }
            },
            "description": "The instance software attachment was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid instance software attachment patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance software attachment is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance software attachment with the specified identifier could not be found for\nthe specified instance."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The instance software attachment patch conflicts with another instance software\nattachment on the instance."
          }
        },
        "summary": "Update an instance software attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.software-attachment.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n      \"$vpc_api_endpoint/v1/instances/$instance_id/software_attachments/$id?version=2026-06-30&generation=2\" \\\n      -H \"Authorization: Bearer $iam_token\" \\\n      -d '{\n            \"name\": \"my-software-attachment-patch\"\n          }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "instanceSoftwareAttachmentPatchModel := &vpcv1.InstanceSoftwareAttachmentPatch{\n    Name: core.StringPtr(\"my-software-attachment-patch\"),\n}\ninstanceSoftwareAttachmentPatchModelAsPatch, asPatchErr :=\n    instanceSoftwareAttachmentPatchModel.AsPatch()\nupdateInstanceSoftwareAttachmentOptions :=\n    vpcService.NewUpdateInstanceSoftwareAttachmentOptions(\n        instanceID,\n        instanceSoftwareAttachmentID,\n        instanceSoftwareAttachmentPatchModelAsPatch,\n    )\ninstanceSoftwareAttachment, response, err :=\n    vpcService.UpdateInstanceSoftwareAttachment(updateInstanceSoftwareAttachmentOptions)\nif err != nil {\n    panic(err)\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "InstanceSoftwareAttachmentPatch instanceSoftwareAttachmentPatchModel = new InstanceSoftwareAttachmentPatch.Builder()\n.name(\"my-software-attachment-patch\")\n.build();\nMap<String, Object> instanceSoftwareAttachmentPatchModelAsPatch =\ninstanceSoftwareAttachmentPatchModel.asPatch();\nUpdateInstanceSoftwareAttachmentOptions updateInstanceSoftwareAttachmentOptions =\nnew UpdateInstanceSoftwareAttachmentOptions.Builder()\n.instanceId(instanceId)\n.id(instanceSoftwareAttachmentId)\n.instanceSoftwareAttachmentPatch(instanceSoftwareAttachmentPatchModelAsPatch)\n.build();\nResponse<InstanceSoftwareAttachment> response =vpcService.updateInstanceSoftwareAttachment(updateInstanceSoftwareAttachmentOptions).execute();\nInstanceSoftwareAttachment instanceSoftwareAttachment = response.getResult();\nSystem.out.println(instanceSoftwareAttachment);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\ninstanceId: instanceId,\nid: InstanceSoftwareAttachmentId,\nname: 'my-software-attachment-patch',};\nlet res;\ntry {\nres = await vpcService.updateInstanceSoftwareAttachment(params);\nconsole.log(JSON.stringify(res.result, null, 2));\n} catch (err) {\nconsole.warn(err);}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "instance_software_attachment_patch_model = {\n  'name': 'my-software-attachment-patch',}\nresponse = vpc_service.update_instance_software_attachment(\n  instance_id=instance_id,\n  id=instance_software_attachment_id,\n  instance_software_attachment_patch=instance_software_attachment_patch_model,)\ninstance_software_attachment = response.get_result()\nprint(json.dumps(instance_software_attachment, indent=2))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/volume_attachments": {
      "get": {
        "description": "This request lists volume attachments on an instance. A volume attachment connects a\nvolume to an instance. Each instance may have many volume attachments but each volume\nattachment connects exactly one instance to exactly one volume.",
        "operationId": "list_instance_volume_attachments",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "volume_attachments": [
                    {
                      "bandwidth": 250,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "delete_volume_on_instance_delete": true,
                      "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",
                      "status": "attached",
                      "type": "boot",
                      "volume": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeAttachmentCollection"
                }
              }
            },
            "description": "The volume attachments were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          }
        },
        "summary": "List volumes attachments on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.volume-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListInstanceVolumeAttachmentsOptions{}\noptions.SetInstanceID(id)\nvolumeAttachments, response, err := vpcService.ListInstanceVolumeAttachments(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListInstanceVolumeAttachmentsOptions listInstanceVolumeAttachmentsOptions = new ListInstanceVolumeAttachmentsOptions.Builder()\n  .instanceId(instanceId)\n  .build();\n\nResponse<VolumeAttachmentCollection> response = service.listInstanceVolumeAttachments(listInstanceVolumeAttachmentsOptions).execute();\nVolumeAttachmentCollection volumeAttachmentCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listInstanceVolumeAttachments({ instanceId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_instance_volume_attachments(instance_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        }
      ],
      "post": {
        "description": "This request creates a new volume attachment from a volume attachment prototype object,\nconnecting a volume to an instance. For this request to succeed, the specified volume must\nnot be busy. The prototype object is structured in the same way as a retrieved volume\nattachment, and contains the information necessary to create the new volume attachment.",
        "operationId": "create_instance_volume_attachment",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "delete_volume_on_instance_delete": true,
                "name": "my-volume-attachment",
                "volume": {
                  "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/VolumeAttachmentPrototype"
              }
            }
          },
          "description": "The volume attachment prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "bandwidth": 250,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "delete_volume_on_instance_delete": true,
                  "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",
                  "status": "attached",
                  "type": "boot",
                  "volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeAttachment"
                }
              }
            },
            "description": "The volume attachment was created successfully, attaching the specified volume to the\ninstance."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid volume attachment prototype object was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume attachment is not allowed to be created."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An instance with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume attachment prototype object conflicts with another volume attachment\non the instance."
          }
        },
        "summary": "Create a volume attachment on an instance",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.volume-attachment.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            },
            {
              "description": "Required when `volume` specifies an existing volume",
              "name": "is.volume.volume.operate"
            },
            {
              "description": "Required when `volume` specifies a new volume",
              "name": "is.volume.volume.create"
            },
            {
              "description": "Required when `volume` specifies a `source_snapshot` (in the calling account) to\ncreate a volume from.",
              "name": "is.snapshot.snapshot.operate"
            },
            {
              "description": "Required when `volume` specifies a `source_snapshot` (in a different account) to\ncreate a volume from.",
              "name": "is.volume.volume.allow-remote-account-snapshot-restore"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"delete_volume_on_instance_delete\": true,\n      \"name\": \"my-volume-attachment-data-5iops\",\n      \"volume\": {\n        \"id\": \"r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateInstanceVolumeAttachmentOptions{}\noptions.SetInstanceID(instanceID)\noptions.SetVolume(&vpcv1.VolumeIdentity{\n  ID: &volumeID,\n})\noptions.SetName(name)\noptions.SetDeleteVolumeOnInstanceDelete(false)\nvolumeAttachment, response, err := vpcService.CreateInstanceVolumeAttachment(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "VolumeIdentityById volumeIdentityModel = new VolumeIdentityById.Builder()\n  .id(id)\n  .build();\nCreateInstanceVolumeAttachmentOptions createInstanceVolumeAttachmentOptions = new CreateInstanceVolumeAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .name(\"my-volume-attachment\")\n  .volume(volumeIdentityModel)\n  .build();\n\nResponse<VolumeAttachment> response = service.createInstanceVolumeAttachment(createInstanceVolumeAttachmentOptions).execute();\nVolumeAttachment volumeAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const volumeIdentityModel = {\n  id: volumeID,\n};\n\nconst params = {\n  instanceId,\n  volume: volumeIdentityModel,\n  name: 'my-volume-attachment',\n  deleteVolumeOnInstanceDelete: true,\n};\n\nconst response = await vpcService.createInstanceVolumeAttachment(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "volume_identity_model = {}\nvolume_identity_model['id'] = volume_id\n\nvolume = volume_identity_model\ndelete_volume_on_instance_delete = True\nname = 'my-volume-attachment'\n\nresponse = service.create_instance_volume_attachment(\n    instance_id,\n    volume,\n    delete_volume_on_instance_delete=delete_volume_on_instance_delete,\n    name=name,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/volume_attachments/{id}": {
      "delete": {
        "description": "This request deletes a volume attachment. This operation cannot be reversed, but a new\nvolume attachment may subsequently be created for the volume.  For this request to\nsucceed, the volume must not be busy.",
        "operationId": "delete_instance_volume_attachment",
        "responses": {
          "204": {
            "description": "The volume attachment was deleted successfully, detaching its volume from the instance."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified volume attachment cannot be deleted because its volume is busy."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume attachment is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A volume attachment with the specified identifier could not be found."
          }
        },
        "summary": "Delete a volume attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.volume-attachment.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.operate"
            },
            {
              "name": "is.volume.volume.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteInstanceVolumeAttachmentOptions{}\noptions.SetID(volumeID)\noptions.SetInstanceID(instanceID)\nresponse, err := vpcService.DeleteInstanceVolumeAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteInstanceVolumeAttachmentOptions deleteInstanceVolumeAttachmentOptions = new DeleteInstanceVolumeAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteInstanceVolumeAttachment(deleteInstanceVolumeAttachmentOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteInstanceVolumeAttachment({\n  instanceId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_instance_volume_attachment(instance_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single volume attachment specified by the identifier in the URL.",
        "operationId": "get_instance_volume_attachment",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "bandwidth": 250,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "delete_volume_on_instance_delete": true,
                  "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",
                  "status": "attached",
                  "type": "boot",
                  "volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeAttachment"
                }
              }
            },
            "description": "The volume attachment was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A volume attachment with the specified identifier could not be found for the specified\ninstance."
          }
        },
        "summary": "Retrieve a volume attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.volume-attachment.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetInstanceVolumeAttachmentOptions{}\noptions.SetInstanceID(instanceID)\noptions.SetID(volumeID)\nvolumeAttachment, response, err := vpcService.GetInstanceVolumeAttachment(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetInstanceVolumeAttachmentOptions getInstanceVolumeAttachmentOptions = new GetInstanceVolumeAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(id)\n  .build();\n\nResponse<VolumeAttachment> response = service.getInstanceVolumeAttachment(getInstanceVolumeAttachmentOptions).execute();\nVolumeAttachment volumeAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getInstanceVolumeAttachment({\n  instanceId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_instance_volume_attachment(instance_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/instanceId"
        },
        {
          "$ref": "#/components/parameters/volumeAttachmentIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a volume attachment with the information provided in a volume\nattachment patch object. The volume attachment patch object is structured in the same way\nas a retrieved volume attachment and needs to contain only the information to be updated.",
        "operationId": "update_instance_volume_attachment",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "delete_volume_on_instance_delete": true,
                "name": "my-volume-attachment"
              },
              "schema": {
                "$ref": "#/components/schemas/VolumeAttachmentPatch"
              }
            }
          },
          "description": "The volume attachment patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "bandwidth": 250,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "delete_volume_on_instance_delete": true,
                  "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",
                  "status": "attached",
                  "type": "boot",
                  "volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeAttachment"
                }
              }
            },
            "description": "The volume attachment was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid volume attachment patch was provided."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume attachment is not allowed to be updated."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A volume attachment with the specified identifier could not be found for the specified\ninstance."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume attachment patch conflicts with another volume attachment\non the instance."
          }
        },
        "summary": "Update a volume attachment",
        "tags": [
          "Instances"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.instance.volume-attachment.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.instance.instance.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"delete_volume_on_instance_delete\": false,\n      \"name\": \"my-volume-attachment-data-5iops-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateInstanceVolumeAttachmentOptions{}\noptions.SetInstanceID(instanceID)\noptions.SetID(volumeID)\noptions.SetName(name)\nvolumeAttachment, response, err := vpcService.UpdateInstanceVolumeAttachment(\n  options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateInstanceVolumeAttachmentOptions updateInstanceVolumeAttachmentOptions = new UpdateInstanceVolumeAttachmentOptions.Builder()\n  .instanceId(instanceId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<VolumeAttachment> response = service.updateInstanceVolumeAttachment(updateInstanceVolumeAttachmentOptions).execute();\nVolumeAttachment volumeAttachment = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  instanceId,\n  id,\n  deleteVolumeOnInstanceDelete: false,\n};\nconst response = await vpcService.updateInstanceVolumeAttachment(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "delete_volume_on_instance_delete = True\nname = 'my-volume-attachment'\nresponse = service.update_instance_volume_attachment(\n    instance_id,\n    id,\n    delete_volume_on_instance_delete=delete_volume_on_instance_delete,\n    name=name,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/ipsec_policies": {
      "get": {
        "description": "This request lists IPsec policies in the region.",
        "operationId": "list_ipsec_policies",
        "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/ipsec_policies?limit=20"
                  },
                  "ipsec_policies": [
                    {
                      "authentication_algorithm": "disabled",
                      "authentication_algorithms": [
                        "disabled"
                      ],
                      "connections": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "2026-01-02T03:04:05.006Z",
                      "encapsulation_mode": "tunnel",
                      "encryption_algorithm": "aes128",
                      "encryption_algorithms": [
                        "aes128"
                      ],
                      "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": 3600,
                      "name": "my-ipsec-policy",
                      "pfs": "disabled",
                      "pfs_groups": [
                        "disabled"
                      ],
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "ipsec_policy",
                      "transform_protocol": "esp"
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/IPsecPolicyCollection"
                }
              }
            },
            "description": "The IPsec policies were retrieved successfully."
          }
        },
        "summary": "List IPsec policies",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ipsec-policy.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/ipsec_policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListIpsecPoliciesOptions{}\nipsecPolicies, response, err := vpcService.ListIpsecPolicies(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListIpsecPoliciesOptions listIpsecPoliciesOptions = new ListIpsecPoliciesOptions.Builder()\n  .build();\n\nResponse<IPsecPolicyCollection> response = service.listIpsecPolicies(listIpsecPoliciesOptions).execute();\nIPsecPolicyCollection iPsecPolicyCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listIpsecPolicies();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_ipsec_policies()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new IPsec policy.",
        "operationId": "create_ipsec_policy",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "authentication_algorithm": "disabled",
                "authentication_algorithms": [
                  "disabled"
                ],
                "encryption_algorithm": "aes128",
                "encryption_algorithms": [
                  "aes128"
                ],
                "key_lifetime": 3600,
                "name": "my-ipsec-policy",
                "pfs": "disabled",
                "pfs_groups": [
                  "disabled"
                ],
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/IPsecPolicyPrototype"
              }
            }
          },
          "description": "The IPsec policy prototype object.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "authentication_algorithm": "disabled",
                  "authentication_algorithms": [
                    "disabled"
                  ],
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "encapsulation_mode": "tunnel",
                  "encryption_algorithm": "aes128",
                  "encryption_algorithms": [
                    "aes128"
                  ],
                  "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": 3600,
                  "name": "my-ipsec-policy",
                  "pfs": "disabled",
                  "pfs_groups": [
                    "disabled"
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "ipsec_policy",
                  "transform_protocol": "esp"
                },
                "schema": {
                  "$ref": "#/components/schemas/IPsecPolicy"
                }
              }
            },
            "description": "The IPsec policy was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid IPsec policy prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The IPsec policy prototype object conflicts with another IPsec policy in the region."
          }
        },
        "summary": "Create an IPsec policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ipsec-policy.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/ipsec_policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"authentication_algorithm\": \"sha256\",\n      \"encryption_algorithm\": \"aes256\",\n      \"key_lifetime\": 28800,\n      \"name\": \"my-ipsec-policy-2\",\n      \"pfs\": \"disabled\",\n      \"resource_group\": {\n        \"id\": \"3fad3f2204eb4998c3964d254ffcd771\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateIpsecPolicyOptions{}\noptions.SetName(name)\noptions.SetAuthenticationAlgorithm(\"sha256\")\noptions.SetEncryptionAlgorithm(\"aes256\")\noptions.SetPfs(\"disabled\")\nipsecPolicy, response, err := vpcService.CreateIpsecPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateIpsecPolicyOptions createIpsecPolicyOptions = new CreateIpsecPolicyOptions.Builder()\n  .authenticationAlgorithm(\"sha256\")\n  .encryptionAlgorithm(\"aes256\")\n  .pfs(\"disabled\")\n  .name(\"my-ike-policy\")\n  .build();\n\nResponse<IPsecPolicy> response = service.createIpsecPolicy(createIpsecPolicyOptions).execute();\nIPsecPolicy iPsecPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  authenticationAlgorithm: 'sha256',\n  encryptionAlgorithm: 'aes256',\n  pfs: 'disabled',\n  name: 'my-ipsec-policy',\n};\nconst response = await vpcService.createIpsecPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "resource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nauthentication_algorithm = 'sha256'\nencryption_algorithm = 'aes256'\npfs = 'disabled'\nkey_lifetime = 3600\nname = 'my-ipsec-policy'\nresource_group = resource_group_identity_model\n\nresponse = service.create_ipsec_policy(\n    authentication_algorithm,\n    encryption_algorithm,\n    pfs,\n    key_lifetime=key_lifetime,\n    name=name,\n    resource_group=resource_group,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/ipsec_policies/{id}": {
      "delete": {
        "description": "This request deletes an IPsec policy. This operation cannot be reversed. For this request\nto succeed, there must not be any VPN gateway connections using this policy.",
        "operationId": "delete_ipsec_policy",
        "responses": {
          "204": {
            "description": "The IPsec policy was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IPsec policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The IPsec policy is in use and cannot be deleted."
          }
        },
        "summary": "Delete an IPsec policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ipsec-policy.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/ipsec_policies/$ipsec_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeleteIpsecPolicyOptions(id)\nresponse, err := vpcService.DeleteIpsecPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteIpsecPolicyOptions deleteIpsecPolicyOptions = new DeleteIpsecPolicyOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteIpsecPolicy(deleteIpsecPolicyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteIpsecPolicy({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_ipsec_policy(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single IPsec policy specified by the identifier in the URL.",
        "operationId": "get_ipsec_policy",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "authentication_algorithm": "disabled",
                  "authentication_algorithms": [
                    "disabled"
                  ],
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "encapsulation_mode": "tunnel",
                  "encryption_algorithm": "aes128",
                  "encryption_algorithms": [
                    "aes128"
                  ],
                  "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": 3600,
                  "name": "my-ipsec-policy",
                  "pfs": "disabled",
                  "pfs_groups": [
                    "disabled"
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "ipsec_policy",
                  "transform_protocol": "esp"
                },
                "schema": {
                  "$ref": "#/components/schemas/IPsecPolicy"
                }
              }
            },
            "description": "The IPsec policy was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IPsec policy with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an IPsec policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ipsec-policy.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/ipsec_policies/$ipsec_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetIpsecPolicyOptions(id)\nipsecPolicy, response, err := vpcService.GetIpsecPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetIpsecPolicyOptions getIpsecPolicyOptions = new GetIpsecPolicyOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<IPsecPolicy> response = service.getIpsecPolicy(getIpsecPolicyOptions).execute();\nIPsecPolicy iPsecPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getIpsecPolicy({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_ipsec_policy(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/ipsecPolicyIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates the properties of an existing IPsec policy.",
        "operationId": "update_ipsec_policy",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "authentication_algorithm": "disabled",
                "authentication_algorithms": [
                  "disabled"
                ],
                "encryption_algorithm": "aes128",
                "encryption_algorithms": [
                  "aes128"
                ],
                "key_lifetime": 3600,
                "name": "my-ipsec-policy",
                "pfs": "disabled",
                "pfs_groups": [
                  "disabled"
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/IPsecPolicyPatch"
              }
            }
          },
          "description": "The IPsec policy patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "authentication_algorithm": "disabled",
                  "authentication_algorithms": [
                    "disabled"
                  ],
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "encapsulation_mode": "tunnel",
                  "encryption_algorithm": "aes128",
                  "encryption_algorithms": [
                    "aes128"
                  ],
                  "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": 3600,
                  "name": "my-ipsec-policy",
                  "pfs": "disabled",
                  "pfs_groups": [
                    "disabled"
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "ipsec_policy",
                  "transform_protocol": "esp"
                },
                "schema": {
                  "$ref": "#/components/schemas/IPsecPolicy"
                }
              }
            },
            "description": "The IPsec policy was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid IPsec policy patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IPsec policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The IPsec policy patch conflicts with another IPsec policy in the region."
          }
        },
        "summary": "Update an IPsec policy",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.ipsec-policy.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/ipsec_policies/$ipsec_policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-new-ipsec-policy\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateIpsecPolicyOptions{\n  ID: &id,\n}\noptions.SetEncryptionAlgorithm(\"aes128\")\nipsecPolicy, response, err := vpcService.UpdateIpsecPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateIpsecPolicyOptions updateIpsecPolicyOptions = new UpdateIpsecPolicyOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<IPsecPolicy> response = service.updateIpsecPolicy(updateIpsecPolicyOptions).execute();\nIPsecPolicy iPsecPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateIpsecPolicy({\n  id,\n  name: 'my-ipsec-policy',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "authentication_algorithm = 'sha256'\nencryption_algorithm = 'aes256'\nkey_lifetime = 3600\nname = 'ipsec'\npfs = 'disabled'\n\nresponse = service.update_ipsec_policy(\n    id,\n    authentication_algorithm=authentication_algorithm,\n    encryption_algorithm=encryption_algorithm,\n    key_lifetime=key_lifetime,\n    name=name,\n    pfs=pfs,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/ipsec_policies/{id}/connections": {
      "get": {
        "description": "This request lists VPN gateway connections that use an IPsec policy",
        "operationId": "list_ipsec_policy_connections",
        "parameters": [
          {
            "$ref": "#/components/parameters/ipsecPolicyIdUnqualified"
          },
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "connections": [
                    {
                      "admin_state_up": true,
                      "authentication_mode": "psk",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "dead_peer_detection": {
                        "action": "clear",
                        "interval": 30,
                        "timeout": 120
                      },
                      "distribute_traffic": true,
                      "establish_mode": "bidirectional",
                      "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": {
                        "ike_identities": [
                          {
                            "type": "fqdn",
                            "value": "my-service.example.com"
                          },
                          {
                            "type": "hostname",
                            "value": "my-hostname"
                          }
                        ]
                      },
                      "mode": "policy",
                      "name": "my-vpn-gateway-connection",
                      "peer": {
                        "address": "192.0.2.5",
                        "ike_identity": {
                          "type": "fqdn",
                          "value": "my-service.example.com"
                        },
                        "type": "address"
                      },
                      "psk": "lkj14b1oi0alcniejkso",
                      "resource_type": "vpn_gateway_connection",
                      "routing_protocol": "none",
                      "status": "down",
                      "status_reasons": [
                        {
                          "code": "cannot_authenticate_connection",
                          "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                        }
                      ],
                      "tunnels": [
                        {
                          "public_ip": {
                            "address": "192.168.3.4"
                          },
                          "status": "down",
                          "status_reasons": [
                            {
                              "code": "cannot_authenticate_connection",
                              "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                              "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/ipsec_policies/r006-51eae621-dbbc-4c47-b623-b57a43c19876/connections?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/IPsecPolicyConnectionCollection"
                }
              }
            },
            "description": "The VPN gateway connections were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An IPsec policy with the specified identifier could not be found."
          }
        },
        "summary": "List VPN gateway connections that use a specified IPsec policy",
        "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/ipsec_policies/$ipsec_policy_id/connections?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListIpsecPolicyConnectionsOptions{\n  ID: &id,\n}\nresponse, response, err :=\n  vpcService.ListIpsecPolicyConnections(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListIpsecPolicyConnectionsOptions listIpsecPolicyConnectionsOptions = new ListIpsecPolicyConnectionsOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<VPNGatewayConnectionCollection> response = service.listIpsecPolicyConnections(listIpsecPolicyConnectionsOptions).execute();\nVPNGatewayConnectionCollection vpnGatewayConnectionCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listIpsecPolicyConnections({id});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_ipsec_policy_connections(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/keys": {
      "get": {
        "description": "This request lists keys in the region. A key contains a public SSH key which may be\ninstalled on instances when they are created. Private keys are not stored.",
        "operationId": "list_keys",
        "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/keys?limit=20"
                  },
                  "keys": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45",
                      "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                      "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": "my-resource-group"
                      },
                      "type": "ed25519"
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/keys?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/KeyCollection"
                }
              }
            },
            "description": "The keys were retrieved successfully."
          }
        },
        "summary": "List keys",
        "tags": [
          "Keys"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.key.key.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.key.key.list"
            },
            {
              "name": "is.key.key.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/keys?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listKeysOptions := &vpcv1.ListKeysOptions{}\nkeys, response, err := vpcService.ListKeys(listKeysOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListKeysOptions listKeysOptions = new ListKeysOptions.Builder()\n  .build();\n\nResponse<KeyCollection> response = service.listKeys(listKeysOptions).execute();\nKeyCollection keyCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listKeys();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_keys()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new SSH key from an key prototype object. The prototype object is\nstructured in the same way as a retrieved key, and contains the information necessary to\ncreate the new key. The public key value must be provided.",
        "operationId": "create_key",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-key-1",
                "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "type": "ed25519"
              },
              "schema": {
                "$ref": "#/components/schemas/KeyPrototype"
              }
            }
          },
          "description": "The key prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45",
                  "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                  "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": "my-resource-group"
                  },
                  "type": "ed25519"
                },
                "schema": {
                  "$ref": "#/components/schemas/Key"
                }
              }
            },
            "description": "The key was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid key prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The key prototype object conflicts with another key in the region."
          }
        },
        "summary": "Create a key",
        "tags": [
          "Keys"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.key.key.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.key.key.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/keys?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\":\"my-key-1\",\n      \"public_key\":\"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En\",\n      \"type\":\"rsa\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateKeyOptions{}\noptions.SetName(name)\noptions.SetPublicKey(publicKey)\nkey, response, err := vpcService.CreateKey(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateKeyOptions createKeyOptions = new CreateKeyOptions.Builder()\n  .publicKey(mySshKey)\n  .name(\"my-key\")\n  .build();\n\nResponse<Key> response = service.createKey(createKeyOptions).execute();\nKey key = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  publicKey,\n  name: 'my-key',\n  type: 'rsa',\n};\nconst response = await vpcService.createKey(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "resource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\nresource_group = resource_group_identity_model\n\n# A unique public SSH key to import, encoded in PEM format.\n# The key (prior to encoding) must be either 2048 or 4096 bits long.\npublic_key = 'replace with your public SSH Key'\nname = 'my-key'\ntype = 'rsa'\n\nresponse = service.create_key(\n    public_key,\n    name=name,\n    resource_group=resource_group,\n    type=type,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/keys/{id}": {
      "delete": {
        "description": "This request deletes a key. This operation cannot be reversed.",
        "operationId": "delete_key",
        "responses": {
          "204": {
            "description": "The key was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A key with the specified identifier could not be found."
          }
        },
        "summary": "Delete a key",
        "tags": [
          "Keys"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.key.key.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.key.key.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/keys/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deleteKeyOptions := &vpcv1.DeleteKeyOptions{}\ndeleteKeyOptions.SetID(id)\nresponse, err := vpcService.DeleteKey(deleteKeyOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteKeyOptions deleteKeyOptions = new DeleteKeyOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteKey(deleteKeyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteKey({id});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_key(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single key specified by the identifier in the URL.",
        "operationId": "get_key",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45",
                  "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                  "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": "my-resource-group"
                  },
                  "type": "ed25519"
                },
                "schema": {
                  "$ref": "#/components/schemas/Key"
                }
              }
            },
            "description": "The key was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A key with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a key",
        "tags": [
          "Keys"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.key.key.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.key.key.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/keys/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getKeyOptions := &vpcv1.GetKeyOptions{}\ngetKeyOptions.SetID(id)\nkey, response, err := vpcService.GetKey(getKeyOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetKeyOptions getKeyOptions = new GetKeyOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Key> response = service.getKey(getKeyOptions).execute();\nKey key = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getKey({id});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_key(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/keyIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a key's name.",
        "operationId": "update_key",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-key-1"
              },
              "schema": {
                "$ref": "#/components/schemas/KeyPatch"
              }
            }
          },
          "description": "The key patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::key:r006-82679077-ac3b-4c10-be16-63e9c21f0f45",
                  "fingerprint": "SHA256:yxavE4CIOL2NlsqcurRO3xGjkP6m/0mp8ugojH5yxlY",
                  "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": "my-resource-group"
                  },
                  "type": "ed25519"
                },
                "schema": {
                  "$ref": "#/components/schemas/Key"
                }
              }
            },
            "description": "The key was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid key patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A key with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The key patch conflicts with another key in the region."
          }
        },
        "summary": "Update a key",
        "tags": [
          "Keys"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.key.key.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.key.key.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/keys/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-key-1-updated\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "updateKeyOptions := &vpcv1.UpdateKeyOptions{}\nupdateKeyOptions.SetID(id)\nupdateKeyOptions.SetName(name)\nresponse, response, err := vpcService.UpdateKey(updateKeyOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateKeyOptions updateKeyOptions = new UpdateKeyOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<Key> response = service.updateKey(updateKeyOptions).execute();\nKey key = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateKey({\n  id,\n  name: 'my-ssh-key',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_key(\n    id,\n    name='my-key',\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancer/profiles": {
      "get": {
        "description": "This request lists load balancer profiles available in the region.\nA load balancer profile specifies the performance characteristics\nand pricing model for a load balancer.",
        "operationId": "list_load_balancer_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/load_balancer/profiles?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "profiles": [
                    {
                      "access_modes": {
                        "type": "enum",
                        "values": [
                          "private"
                        ]
                      },
                      "advanced_health_checks_supported": {
                        "type": "fixed",
                        "value": true
                      },
                      "availability": {
                        "type": "fixed",
                        "value": "subnet"
                      },
                      "failsafe_policy_actions": {
                        "default": "fail",
                        "type": "enum",
                        "values": [
                          "forward",
                          "fail"
                        ]
                      },
                      "family": "application",
                      "fqdn_pool_members_supported": {
                        "type": "fixed",
                        "value": true
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed",
                      "instance_groups_supported": {
                        "type": "fixed",
                        "value": true
                      },
                      "logging_supported": {
                        "type": "fixed",
                        "value": [
                          "datapath"
                        ]
                      },
                      "mtls_supported": {
                        "type": "fixed",
                        "value": true
                      },
                      "name": "network-fixed",
                      "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/network-fixed",
                          "name": "network-fixed"
                        }
                      ],
                      "targetable_resource_types": {
                        "type": "enum",
                        "values": [
                          "instance"
                        ]
                      },
                      "udp_supported": {
                        "type": "fixed",
                        "value": true
                      }
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerProfileCollection"
                }
              }
            },
            "description": "The load balancer profiles were retrieved successfully"
          }
        },
        "summary": "List load balancer profiles",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-profile.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": []
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancer/profiles?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListLoadBalancersOptions{}\nresponse, response, err := vpcService.ListLoadBalancerProfiles(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListLoadBalancerProfilesOptions listLoadBalancerProfilesOptions = new ListLoadBalancerProfilesOptions.Builder()\n  .build();\n\nResponse<LoadBalancerProfileCollection> response = service.listLoadBalancerProfiles(listLoadBalancerProfilesOptions).execute();\nLoadBalancerProfileCollection loadBalancerProfileCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listLoadBalancerProfiles();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_load_balancer_profiles()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/load_balancer/profiles/{name}": {
      "get": {
        "description": "This request retrieves a load balancer profile specified by the name in the URL.",
        "operationId": "get_load_balancer_profile",
        "parameters": [
          {
            "$ref": "#/components/parameters/loadBalancerProfileName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_modes": {
                    "type": "enum",
                    "values": [
                      "private"
                    ]
                  },
                  "advanced_health_checks_supported": {
                    "type": "fixed",
                    "value": true
                  },
                  "availability": {
                    "type": "fixed",
                    "value": "subnet"
                  },
                  "failsafe_policy_actions": {
                    "default": "fail",
                    "type": "enum",
                    "values": [
                      "forward",
                      "fail"
                    ]
                  },
                  "family": "application",
                  "fqdn_pool_members_supported": {
                    "type": "fixed",
                    "value": true
                  },
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed",
                  "instance_groups_supported": {
                    "type": "fixed",
                    "value": true
                  },
                  "logging_supported": {
                    "type": "fixed",
                    "value": [
                      "datapath"
                    ]
                  },
                  "mtls_supported": {
                    "type": "fixed",
                    "value": true
                  },
                  "name": "network-fixed",
                  "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/network-fixed",
                      "name": "network-fixed"
                    }
                  ],
                  "targetable_resource_types": {
                    "type": "enum",
                    "values": [
                      "instance"
                    ]
                  },
                  "udp_supported": {
                    "type": "fixed",
                    "value": true
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerProfile"
                }
              }
            },
            "description": "The load balancer profile was retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer profile with the specified name could not be found."
          }
        },
        "summary": "Retrieve a load balancer profile",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-profile.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": []
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancer/profiles/$profile-name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerProfileOptions{}\noptions.SetName(name)\nresponse, response, err := vpcService.GetLoadBalancerProfile(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerProfileOptions getLoadBalancerProfileOptions = new GetLoadBalancerProfileOptions.Builder()\n  .name(loadBalancerProfileName)\n  .build();\n\nResponse<LoadBalancerProfile> response = service.getLoadBalancerProfile(getLoadBalancerProfileOptions).execute();\nLoadBalancerProfile loadBalancerProfile = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancerProfile({ profileName });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer_profile(name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/load_balancers": {
      "get": {
        "description": "This request lists load balancers in the region.",
        "operationId": "list_load_balancers",
        "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/load_balancers?limit=20"
                  },
                  "limit": 20,
                  "load_balancers": [
                    {
                      "access_mode": "private",
                      "advanced_health_checks_supported": true,
                      "attached_load_balancer_pool_members": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "region",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                      "dns": {
                        "instance": {
                          "crn": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
                        },
                        "zone": {
                          "id": "d66662cc-aa23-4fe1-9987-858487a61f45"
                        }
                      },
                      "failsafe_policy_actions": [
                        "bypass"
                      ],
                      "fqdn_pool_members_supported": true,
                      "hostname": "6b88d615-us-south.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": true,
                      "is_public": true,
                      "listeners": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ],
                      "logging": {
                        "datapath": {
                          "active": true
                        }
                      },
                      "mtls_supported": true,
                      "name": "my-load-balancer",
                      "operating_status": "offline",
                      "pools": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ],
                      "private_ips": [
                        {
                          "address": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "resource_type": "subnet_reserved_ip"
                        }
                      ],
                      "profile": {
                        "family": "application",
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed",
                        "name": "network-fixed"
                      },
                      "provisioning_status": "active",
                      "public_ips": [
                        {
                          "address": "192.168.3.4"
                        }
                      ],
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "load_balancer",
                      "route_mode": true,
                      "security_groups": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": true,
                      "subnets": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ],
                      "udp_supported": true
                    }
                  ],
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerCollection"
                }
              }
            },
            "description": "The load balancers were retrieved successfully."
          }
        },
        "summary": "List load balancers",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListLoadBalancersOptions{}\nresponse, response, err := vpcService.ListLoadBalancers(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListLoadBalancersOptions listLoadBalancersOptions = new ListLoadBalancersOptions();\n\nResponse<LoadBalancerCollection> response = service.listLoadBalancers(listLoadBalancersOptions).execute();\nLoadBalancerCollection loadBalancerCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listLoadBalancers();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_load_balancers()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates and provisions a new load balancer.",
        "operationId": "create_load_balancer",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "dns": {
                  "instance": {
                    "crn": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
                  },
                  "zone": {
                    "id": "d66662cc-aa23-4fe1-9987-858487a61f45"
                  }
                },
                "is_private_path": true,
                "is_public": true,
                "listeners": [
                  {
                    "accept_proxy_protocol": true,
                    "certificate_instance": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    },
                    "client_authentication": {
                      "certificate_authority": {
                        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                      },
                      "certificate_revocation_list": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n"
                    },
                    "connection_limit": 2000,
                    "default_pool": {
                      "name": "my-load-balancer-pool"
                    },
                    "https_redirect": {
                      "http_status_code": 301,
                      "listener": {
                        "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091"
                      },
                      "uri": "/example?doc=get"
                    },
                    "idle_connection_timeout": 100,
                    "port": 443,
                    "port_max": 499,
                    "port_min": 443,
                    "protocol": "http"
                  }
                ],
                "logging": {
                  "datapath": {
                    "active": true
                  }
                },
                "name": "my-load-balancer",
                "pools": [
                  {
                    "algorithm": "least_connections",
                    "client_authentication": {
                      "certificate_instance": {
                        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                      }
                    },
                    "health_monitor": {
                      "delay": 5,
                      "max_retries": 2,
                      "port": 22,
                      "timeout": 2,
                      "type": "http"
                    },
                    "members": [
                      {
                        "port": 80,
                        "target": {
                          "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0"
                        },
                        "weight": 50
                      }
                    ],
                    "name": "my-load-balancer-pool",
                    "protocol": "http",
                    "proxy_protocol": "disabled",
                    "server_authentication": {
                      "certificate_authority": {
                        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                      },
                      "verify_certificate": true
                    },
                    "session_persistence": {
                      "cookie_name": "my-cookie-name",
                      "type": "app_cookie"
                    }
                  }
                ],
                "profile": {
                  "name": "network-fixed"
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "route_mode": true,
                "security_groups": [
                  {
                    "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                  }
                ],
                "subnets": [
                  {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerPrototype"
              }
            }
          },
          "description": "The load balancer prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "access_mode": "private",
                  "advanced_health_checks_supported": true,
                  "attached_load_balancer_pool_members": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "region",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                  "dns": {
                    "instance": {
                      "crn": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
                    },
                    "zone": {
                      "id": "d66662cc-aa23-4fe1-9987-858487a61f45"
                    }
                  },
                  "failsafe_policy_actions": [
                    "bypass"
                  ],
                  "fqdn_pool_members_supported": true,
                  "hostname": "6b88d615-us-south.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": true,
                  "is_public": true,
                  "listeners": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "logging": {
                    "datapath": {
                      "active": true
                    }
                  },
                  "mtls_supported": true,
                  "name": "my-load-balancer",
                  "operating_status": "offline",
                  "pools": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "private_ips": [
                    {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "profile": {
                    "family": "application",
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed",
                    "name": "network-fixed"
                  },
                  "provisioning_status": "active",
                  "public_ips": [
                    {
                      "address": "192.168.3.4"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "load_balancer",
                  "route_mode": true,
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": true,
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "udp_supported": true
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancer"
                }
              }
            },
            "description": "The load balancer was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid load balancer prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer pool member prototype object conflicts with other load balancer pool\nmembers in the VPC."
          }
        },
        "summary": "Create a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            },
            {
              "name": "is.security-group.security-group.operate"
            },
            {
              "description": "Required for each subnet specified in `subnets`",
              "name": "is.subnet.subnet.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/load_balancers?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-load-balancer\",\n      \"is_public\": true,\n      \"subnets\": [\n        {\n          \"id\": \"0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e\"\n        }\n      ],\n      \"listeners\": [\n        {\n          \"protocol\": \"http\",\n          \"port\": 65432,\n          \"default_pool\": {\n            \"name\": \"my-pool\"\n          }\n        }\n     ],\n      \"pools\": [\n        {\n          \"name\": \"my-pool\",\n          \"protocol\": \"http\",\n          \"algorithm\": \"round_robin\",\n          \"health_monitor\": {\n            \"type\": \"http\",\n            \"delay\": 5,\n            \"max_retries\": 2,\n            \"timeout\": 2,\n            \"url_path\": \"/\"\n          }\n        }\n     ]\n   }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateLoadBalancerOptions{}\noptions.SetIsPublic(true)\noptions.SetName(name)\nvar subnetArray = []vpcv1.SubnetIdentityIntf{\n  &vpcv1.SubnetIdentity{\n    ID: &subnetId,\n  },\n}\noptions.SetSubnets(subnetArray)\nlb, response, err := vpcService.CreateLoadBalancer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "SubnetIdentityById subnetIdentityModel = new SubnetIdentityById.Builder()\n  .id(subnetId)\n  .build();\nCreateLoadBalancerOptions createLoadBalancerOptions = new CreateLoadBalancerOptions.Builder()\n  .name(\"my-load-balancer\")\n  .isPublic(true)\n  .subnets(new java.util.ArrayList<SubnetIdentity>(java.util.Arrays.asList(subnetIdentityModel)))\n  .build();\n\nResponse<LoadBalancer> response = service.createLoadBalancer(createLoadBalancerOptions).execute();\nLoadBalancer loadBalancer = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const subnetIdentityModel = {\n  id: subnetID,\n};\n\nconst params = {\n  isPublic: true,\n  subnets: [subnetIdentityModel],\n  name: 'my-load-balancer',\n};\nconst response = await vpcService.createLoadBalancer(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "subnet_identity_model = {}\nsubnet_identity_model['id'] = subnet_id\n\nload_balancer_pool_identity_by_name_model = {}\nload_balancer_pool_identity_by_name_model[\n    'name'] = 'my-load-balancer-pool'\n\n\nload_balancer_listener_prototype_load_balancer_context_model = {}\nload_balancer_listener_prototype_load_balancer_context_model[\n    'connection_limit'] = 2000\nload_balancer_listener_prototype_load_balancer_context_model[\n    'default_pool'] = load_balancer_pool_identity_by_name_model\nload_balancer_listener_prototype_load_balancer_context_model[\n    'port'] = 443\nload_balancer_listener_prototype_load_balancer_context_model[\n    'protocol'] = 'http'\n\n\nload_balancer_pool_member_target_prototype_model = {}\nload_balancer_pool_member_target_prototype_model[\n    'address'] = '192.168.3.4'\n\nload_balancer_pool_health_monitor_prototype_model = {}\nload_balancer_pool_health_monitor_prototype_model['delay'] = 5\nload_balancer_pool_health_monitor_prototype_model['max_retries'] = 2\nload_balancer_pool_health_monitor_prototype_model['port'] = 22\nload_balancer_pool_health_monitor_prototype_model['timeout'] = 2\nload_balancer_pool_health_monitor_prototype_model['type'] = 'http'\nload_balancer_pool_health_monitor_prototype_model['url_path'] = '/'\n\nload_balancer_pool_member_prototype_model = {}\nload_balancer_pool_member_prototype_model['port'] = 80\nload_balancer_pool_member_prototype_model[\n    'target'] = load_balancer_pool_member_target_prototype_model\nload_balancer_pool_member_prototype_model['weight'] = 50\n\nload_balancer_pool_session_persistence_prototype_model = {}\nload_balancer_pool_session_persistence_prototype_model[\n    'type'] = 'source_ip'\n\nload_balancer_pool_prototype_model = {}\nload_balancer_pool_prototype_model['algorithm'] = 'least_connections'\nload_balancer_pool_prototype_model[\n    'health_monitor'] = load_balancer_pool_health_monitor_prototype_model\nload_balancer_pool_prototype_model['members'] = [\n    load_balancer_pool_member_prototype_model\n]\nload_balancer_pool_prototype_model['name'] = 'my-load-balancer-pool'\nload_balancer_pool_prototype_model['protocol'] = 'http'\nload_balancer_pool_prototype_model[\n    'session_persistence'] = load_balancer_pool_session_persistence_prototype_model\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nis_public = True\nsubnets = [subnet_identity_model]\nlisteners = [\n    load_balancer_listener_prototype_load_balancer_context_model\n]\nname = 'my-load-balancer'\npools = [load_balancer_pool_prototype_model]\nresource_group = resource_group_identity_model\n\nresponse = service.create_load_balancer(\n    is_public,\n    subnets,\n    listeners=listeners,\n    name=name,\n    pools=pools,\n    resource_group=resource_group,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{id}": {
      "delete": {
        "description": "This request deletes a load balancer. This operation cannot be reversed.\nA load balancer cannot be deleted if its `provisioning_status` is `delete_pending` or it\nis referenced by a resource.",
        "operationId": "delete_load_balancer",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "description": "The load balancer deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The load balancer cannot be deleted because it is in its current state, it is in use,\nor it is referenced by another resource"
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value\nof the load balancer."
          }
        },
        "summary": "Delete a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer.delete"
            },
            {
              "description": "Generated for each load balancer pool member targeting the load balancer specified\nin the URL.",
              "name": "is.load-balancer.load-balancer-pool-member.delete"
            },
            {
              "description": "Generated for each pool member of the load balancer specified in the URL if the\nmember's target was a load balancer.",
              "name": "is.load-balancer.pool-member.detach"
            },
            {
              "description": "Generated for each load balancer targeted by a pool member of the load balancer\nspecified in the URL, if any.\nURL, if any.",
              "name": "is.load-balancer.load-balancer.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for the load balancer specified in the URL.",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deleteVpcOptions := &vpcv1.DeleteLoadBalancerOptions{}\ndeleteVpcOptions.SetID(id)\nresponse, err := vpcService.DeleteLoadBalancer(deleteVpcOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteLoadBalancerOptions deleteLoadBalancerOptions = new DeleteLoadBalancerOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteLoadBalancer(deleteLoadBalancerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteLoadBalancer({id});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_load_balancer(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single load balancer specified by the identifier in the URL path.",
        "operationId": "get_load_balancer",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_mode": "private",
                  "advanced_health_checks_supported": true,
                  "attached_load_balancer_pool_members": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "region",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                  "dns": {
                    "instance": {
                      "crn": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
                    },
                    "zone": {
                      "id": "d66662cc-aa23-4fe1-9987-858487a61f45"
                    }
                  },
                  "failsafe_policy_actions": [
                    "bypass"
                  ],
                  "fqdn_pool_members_supported": true,
                  "hostname": "6b88d615-us-south.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": true,
                  "is_public": true,
                  "listeners": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "logging": {
                    "datapath": {
                      "active": true
                    }
                  },
                  "mtls_supported": true,
                  "name": "my-load-balancer",
                  "operating_status": "offline",
                  "pools": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "private_ips": [
                    {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "profile": {
                    "family": "application",
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed",
                    "name": "network-fixed"
                  },
                  "provisioning_status": "active",
                  "public_ips": [
                    {
                      "address": "192.168.3.4"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "load_balancer",
                  "route_mode": true,
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": true,
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "udp_supported": true
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancer"
                }
              }
            },
            "description": "The load balancer was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerOptions{}\noptions.SetID(id)\nlb, response, err := vpcService.GetLoadBalancer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerOptions getLoadBalancerOptions = new GetLoadBalancerOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<LoadBalancer> response = service.getLoadBalancer(getLoadBalancerOptions).execute();\nLoadBalancer loadBalancer = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancer({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a load balancer with the information in a provided load balancer\npatch. The load balancer patch object is structured in the same way as a retrieved load\nbalancer and contains only the information to be updated. A load balancer can only be\nupdated if its `provisioning_status` is `active`.",
        "operationId": "update_load_balancer",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "dns": {
                  "instance": {
                    "crn": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
                  },
                  "zone": {
                    "id": "d66662cc-aa23-4fe1-9987-858487a61f45"
                  }
                },
                "logging": {
                  "datapath": {
                    "active": true
                  }
                },
                "name": "my-load-balancer",
                "subnets": [
                  {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerPatch"
              }
            }
          },
          "description": "The load balancer patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_mode": "private",
                  "advanced_health_checks_supported": true,
                  "attached_load_balancer_pool_members": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "region",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                  "dns": {
                    "instance": {
                      "crn": "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
                    },
                    "zone": {
                      "id": "d66662cc-aa23-4fe1-9987-858487a61f45"
                    }
                  },
                  "failsafe_policy_actions": [
                    "bypass"
                  ],
                  "fqdn_pool_members_supported": true,
                  "hostname": "6b88d615-us-south.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": true,
                  "is_public": true,
                  "listeners": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "logging": {
                    "datapath": {
                      "active": true
                    }
                  },
                  "mtls_supported": true,
                  "name": "my-load-balancer",
                  "operating_status": "offline",
                  "pools": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "private_ips": [
                    {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "profile": {
                    "family": "application",
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-fixed",
                    "name": "network-fixed"
                  },
                  "provisioning_status": "active",
                  "public_ips": [
                    {
                      "address": "192.168.3.4"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "load_balancer",
                  "route_mode": true,
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": true,
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "udp_supported": true
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancer"
                }
              }
            },
            "description": "The load balancer was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid load balancer patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The load balancer cannot be updated 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\nof the load balancer."
          }
        },
        "summary": "Update a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            },
            {
              "description": "If `subnets` is specified, required for all existing subnets and each subnet\nspecified in `subnets`.",
              "name": "is.subnet.subnet.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"name\": \"my-load-balancer-3\",\n  \"logging\": {\n    \"datapath\": {\n      \"active\": true\n    }\n  }\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateLoadBalancerOptions{\n  Name: &name,\n}\noptions.SetID(id)\nlb, response, err := vpcService.UpdateLoadBalancer(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateLoadBalancerOptions updateLoadBalancerOptions = new UpdateLoadBalancerOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<LoadBalancer> response = service.updateLoadBalancer(updateLoadBalancerOptions).execute();\nLoadBalancer loadBalancer = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateLoadBalancer({\n  id,\n  name: 'my-load-balancer',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_load_balancer(\n    id,\n    name='my-load-balancer',\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{id}/statistics": {
      "get": {
        "description": "This request lists statistics of a load balancer.",
        "operationId": "get_load_balancer_statistics",
        "parameters": [
          {
            "description": "The load balancer identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ID"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "active_connections": 797,
                  "connection_rate": 91.121,
                  "data_processed_this_month": 10093173145,
                  "throughput": 167.278
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerStatistics"
                }
              }
            },
            "description": "The load balancer statistics were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          }
        },
        "summary": "List statistics of a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": []
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/statistics?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerStatisticsOptions{}\noptions.SetID(id)\nstatistics, response, err := vpcService.GetLoadBalancerStatistics(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerStatisticsOptions getLoadBalancerStatisticsOptions = new GetLoadBalancerStatisticsOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<LoadBalancerStatistics> response = service.getLoadBalancerStatistics(getLoadBalancerStatisticsOptions).execute();\nLoadBalancerStatistics loadBalancerStatistics = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancerStatistics({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer_statistics(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/load_balancers/{load_balancer_id}/listeners": {
      "get": {
        "description": "This request lists listeners for a load balancer.",
        "operationId": "list_load_balancer_listeners",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "listeners": [
                    {
                      "accept_proxy_protocol": true,
                      "certificate_instance": {
                        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                      },
                      "client_authentication": {
                        "certificate_authority": {
                          "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                        },
                        "certificate_revocation_list": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n"
                      },
                      "connection_limit": 2000,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "default_pool": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                      "https_redirect": {
                        "http_status_code": 301,
                        "listener": {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        },
                        "uri": "/example?doc=get"
                      },
                      "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091",
                      "idle_connection_timeout": 100,
                      "policies": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ],
                      "port": 443,
                      "port_max": 499,
                      "port_min": 443,
                      "protocol": "http",
                      "provisioning_status": "active"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerCollection"
                }
              }
            },
            "description": "The listeners of the load balancer were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          }
        },
        "summary": "List listeners for a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListLoadBalancerListenersOptions{}\noptions.SetLoadBalancerID(id)\nlisteners, response, err := vpcService.ListLoadBalancerListeners(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListLoadBalancerListenersOptions listLoadBalancerListenersOptions = new ListLoadBalancerListenersOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .build();\n\nResponse<LoadBalancerListenerCollection> response = service.listLoadBalancerListeners(listLoadBalancerListenersOptions).execute();\nLoadBalancerListenerCollection loadBalancerListenerCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listLoadBalancerListeners({ loadBalancerId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_load_balancer_listeners(load_balancer_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        }
      ],
      "post": {
        "description": "This request creates a new listener for a load balancer.",
        "operationId": "create_load_balancer_listener",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "accept_proxy_protocol": true,
                "certificate_instance": {
                  "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                },
                "client_authentication": {
                  "certificate_authority": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  },
                  "certificate_revocation_list": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n"
                },
                "connection_limit": 2000,
                "default_pool": {
                  "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                },
                "https_redirect": {
                  "http_status_code": 301,
                  "listener": {
                    "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091"
                  },
                  "uri": "/example?doc=get"
                },
                "idle_connection_timeout": 100,
                "policies": [
                  {
                    "action": "forward_to_listener",
                    "name": "my-load-balancer-listener-policy",
                    "priority": 5,
                    "rules": [
                      {
                        "condition": "contains",
                        "field": "MY-APP-HEADER",
                        "type": "body",
                        "value": "my-value"
                      }
                    ],
                    "target": {
                      "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                    }
                  }
                ],
                "port": 443,
                "port_max": 499,
                "port_min": 443,
                "protocol": "http"
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerListenerPrototype"
              }
            }
          },
          "description": "The load balancer listener prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "accept_proxy_protocol": true,
                  "certificate_instance": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  },
                  "client_authentication": {
                    "certificate_authority": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    },
                    "certificate_revocation_list": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n"
                  },
                  "connection_limit": 2000,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "default_pool": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                  "https_redirect": {
                    "http_status_code": 301,
                    "listener": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    },
                    "uri": "/example?doc=get"
                  },
                  "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091",
                  "idle_connection_timeout": 100,
                  "policies": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "port": 443,
                  "port_max": 499,
                  "port_min": 443,
                  "protocol": "http",
                  "provisioning_status": "active"
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListener"
                }
              }
            },
            "description": "The listener was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid listener prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The listener prototype object conflicts with another listener on the load balancer."
          }
        },
        "summary": "Create a listener for a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"protocol\": \"http\",\n      \"port\": 65432,\n      \"default_pool\": {\n        \"name\": \"my-pool\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateLoadBalancerListenerOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetPort(5656)\noptions.SetProtocol(\"http\")\nlistener, response, err := vpcService.CreateLoadBalancerListener(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateLoadBalancerListenerOptions createLoadBalancerListenerOptions = new CreateLoadBalancerListenerOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .port(Long.valueOf(\"443\"))\n  .protocol(\"http\")\n  .build();\n\nResponse<LoadBalancerListener> response = service.createLoadBalancerListener(createLoadBalancerListenerOptions).execute();\nLoadBalancerListener loadBalancerListener = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  loadBalancerId,\n  port: 443,\n  protocol: 'http',\n};\nconst response = await vpcService.createLoadBalancerListener(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "certificate_instance_identity_model = {}\ncertificate_instance_identity_model['crn'] = certificate_crn\n\nload_balancer_pool_identity_model = {}\nload_balancer_pool_identity_model['id'] = load_balancer_pool_id\n\nload_balancer_listener_policy_prototype_target_model = {}\nload_balancer_listener_policy_prototype_target_model['id'] = target_id\n\nload_balancer_listener_policy_rule_prototype_model = {}\nload_balancer_listener_policy_rule_prototype_model[\n    'condition'] = 'contains'\nload_balancer_listener_policy_rule_prototype_model[\n    'field'] = 'MY-APP-HEADER'\nload_balancer_listener_policy_rule_prototype_model['type'] = 'header'\nload_balancer_listener_policy_rule_prototype_model[\n    'value'] = 'testString'\n\nload_balancer_listener_policy_prototype_model = {}\nload_balancer_listener_policy_prototype_model['action'] = 'forward'\nload_balancer_listener_policy_prototype_model['name'] = 'my-policy'\nload_balancer_listener_policy_prototype_model['priority'] = 5\nload_balancer_listener_policy_prototype_model['rules'] = [\n    load_balancer_listener_policy_rule_prototype_model\n]\nload_balancer_listener_policy_prototype_model[\n    'target'] = load_balancer_listener_policy_prototype_target_model\n\nport = 443\nprotocol = 'http'\ncertificate_instance = certificate_instance_identity_model\nconnection_limit = 2000\ndefault_pool = load_balancer_pool_identity_model\npolicies = [load_balancer_listener_policy_prototype_model]\n\nresponse = service.create_load_balancer_listener(\n    load_balancer_id,\n    port,\n    protocol,\n    certificate_instance=certificate_instance,\n    connection_limit=connection_limit,\n    default_pool=default_pool,\n    policies=policies,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/listeners/{id}": {
      "delete": {
        "description": "This request deletes a load balancer listener. This operation cannot be reversed. For\nthis operation to succeed, the listener must not be the target of another load balancer\nlistener.",
        "operationId": "delete_load_balancer_listener",
        "responses": {
          "202": {
            "description": "The listener deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or listener with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The listener is in use and cannot be deleted"
          }
        },
        "summary": "Delete a load balancer listener",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteLoadBalancerListenerOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetID(listenerID)\nresponse, err := vpcService.DeleteLoadBalancerListener(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteLoadBalancerListenerOptions deleteLoadBalancerListenerOptions = new DeleteLoadBalancerListenerOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteLoadBalancerListener(deleteLoadBalancerListenerOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteLoadBalancerListener({\n  loadBalancerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_load_balancer_listener(load_balancer_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single listener specified by the identifier in the URL path.",
        "operationId": "get_load_balancer_listener",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "accept_proxy_protocol": true,
                  "certificate_instance": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  },
                  "client_authentication": {
                    "certificate_authority": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    },
                    "certificate_revocation_list": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n"
                  },
                  "connection_limit": 2000,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "default_pool": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                  "https_redirect": {
                    "http_status_code": 301,
                    "listener": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    },
                    "uri": "/example?doc=get"
                  },
                  "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091",
                  "idle_connection_timeout": 100,
                  "policies": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "port": 443,
                  "port_max": 499,
                  "port_min": 443,
                  "protocol": "http",
                  "provisioning_status": "active"
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListener"
                }
              }
            },
            "description": "The listener was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a load balancer listener",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerListenerOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetID(listenerID)\nlistener, response, err := vpcService.GetLoadBalancerListener(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerListenerOptions getLoadBalancerListenerOptions = new GetLoadBalancerListenerOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .id(id)\n  .build();\n\nResponse<LoadBalancerListener> response = service.getLoadBalancerListener(getLoadBalancerListenerOptions).execute();\nLoadBalancerListener loadBalancerListener = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancerListener({\n  loadBalancerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer_listener(load_balancer_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a load balancer listener from a listener patch.",
        "operationId": "update_load_balancer_listener",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "accept_proxy_protocol": true,
                "certificate_instance": {
                  "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                },
                "client_authentication": {
                  "certificate_authority": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  },
                  "certificate_revocation_list": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n"
                },
                "connection_limit": 2000,
                "default_pool": {
                  "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                },
                "https_redirect": {
                  "http_status_code": 301,
                  "listener": {
                    "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091"
                  },
                  "uri": "/example?doc=get"
                },
                "idle_connection_timeout": 100,
                "port": 443,
                "port_max": 499,
                "port_min": 443,
                "protocol": "http"
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerListenerPatch"
              }
            }
          },
          "description": "The load balancer listener patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "accept_proxy_protocol": true,
                  "certificate_instance": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  },
                  "client_authentication": {
                    "certificate_authority": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    },
                    "certificate_revocation_list": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n"
                  },
                  "connection_limit": 2000,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "default_pool": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                  "https_redirect": {
                    "http_status_code": 301,
                    "listener": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    },
                    "uri": "/example?doc=get"
                  },
                  "id": "r006-97c05c26-4748-4db8-ac3f-d8a9c79a7091",
                  "idle_connection_timeout": 100,
                  "policies": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "port": 443,
                  "port_max": 499,
                  "port_min": 443,
                  "protocol": "http",
                  "provisioning_status": "active"
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListener"
                }
              }
            },
            "description": "The listener was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid listener patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A listener with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The listener patch object conflicts with another listener on the load balancer."
          }
        },
        "summary": "Update a load balancer listener",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"port\": 80\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateLoadBalancerListenerOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetID(listenerID)\noptions.SetProtocol(\"tcp\")\nlistener, response, err := vpcService.UpdateLoadBalancerListener(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateLoadBalancerListenerOptions updateLoadBalancerListenerOptions = new UpdateLoadBalancerListenerOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<LoadBalancerListener> response = service.updateLoadBalancerListener(updateLoadBalancerListenerOptions).execute();\nLoadBalancerListener loadBalancerListener = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateLoadBalancerListener({\n  loadBalancerId,\n  id,\n  port: 443,\n  protocol: 'http',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "certificate_instance_identity_model = {}\ncertificate_instance_identity_model['crn'] = certificate_id\n\nload_balancer_pool_identity_model = {}\nload_balancer_pool_identity_model['id'] = load_balancer_pool_id\n\ncertificate_instance = certificate_instance_identity_model\nconnection_limit = 2500\ndefault_pool = load_balancer_pool_identity_model\nport = 443\nprotocol = 'http'\n\nresponse = service.update_load_balancer_listener(\n    load_balancer_id,\n    id,\n    certificate_instance=certificate_instance,\n    connection_limit=connection_limit,\n    default_pool=default_pool,\n    port=port,\n    protocol=protocol,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies": {
      "get": {
        "description": "This request lists policies for a load balancer listener. A policy consists of rules to\nmatch against each incoming request, and an action to apply to the request if a rule\nmatches.",
        "operationId": "list_load_balancer_listener_policies",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "policies": [
                    {
                      "action": "forward_to_listener",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": 5,
                      "provisioning_status": "active",
                      "rules": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ],
                      "target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicyCollection"
                }
              }
            },
            "description": "The policies of the listener were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or listener with the specified identifier could not be found."
          }
        },
        "summary": "List policies for a load balancer listener",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListLoadBalancerListenerPoliciesOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\npolicies, response, err :=\n  vpcService.ListLoadBalancerListenerPolicies(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListLoadBalancerListenerPoliciesOptions listLoadBalancerListenerPoliciesOptions = new ListLoadBalancerListenerPoliciesOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .build();\n\nResponse<LoadBalancerListenerPolicyCollection> response = service.listLoadBalancerListenerPolicies(listLoadBalancerListenerPoliciesOptions).execute();\nLoadBalancerListenerPolicyCollection loadBalancerListenerPolicyCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listLoadBalancerListenerPolicies({\n  loadBalancerId,\n  listenerId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_load_balancer_listener_policies(\n  load_balancer_id, listener_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerId"
        }
      ],
      "post": {
        "description": "This request creates a new policy from a load balancer listener policy object. The\nprototype object is structured in the same way as a retrieved policy, and contains the\ninformation necessary to create the new policy. For this request to succeed, the load\nbalancer must be in the `application` family.",
        "operationId": "create_load_balancer_listener_policy",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "action": "forward_to_listener",
                "name": "my-load-balancer-listener-policy",
                "priority": 5,
                "rules": [
                  {
                    "condition": "contains",
                    "field": "MY-APP-HEADER",
                    "type": "body",
                    "value": "my-value"
                  }
                ],
                "target": {
                  "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerListenerPolicyPrototype"
              }
            }
          },
          "description": "The listener policy prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "action": "forward_to_listener",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 5,
                  "provisioning_status": "active",
                  "rules": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicy"
                }
              }
            },
            "description": "The policy was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid listener policy prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or listener with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The listener policy prototype object conflicts with another listener policy\non the load balancer."
          }
        },
        "summary": "Create a policy for a load balancer listener",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"action\": \"reject\",\n      \"priority\": 1,\n      \"rules\": [\n        {\n          \"type\": \"header\",\n          \"value\": \"my-value\",\n          \"condition\": \"contains\",\n          \"field\": \"MY-APP-HEADER\"\n        }\n      ]\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateLoadBalancerListenerPolicyOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetPriority(2)\noptions.SetAction(\"reject\")\npolicy, response, err :=\n  vpcService.CreateLoadBalancerListenerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateLoadBalancerListenerPolicyOptions createLoadBalancerListenerPolicyOptions = new CreateLoadBalancerListenerPolicyOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .priority(Long.valueOf(\"5\"))\n  .action(\"forward\")\n  .build();\n\nResponse<LoadBalancerListenerPolicy> response = service.createLoadBalancerListenerPolicy(createLoadBalancerListenerPolicyOptions).execute();\nLoadBalancerListenerPolicy loadBalancerListenerPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  loadBalancerId,\n  listenerId,\n  priority: 5,\n  action: 'forward',\n  name: 'my-load-balancer-listener-policy',\n};\n\nconst response = await vpcService.createLoadBalancerListenerPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_listener_policy_rule_prototype_model = {}\nload_balancer_listener_policy_rule_prototype_model['condition'] = 'contains'\nload_balancer_listener_policy_rule_prototype_model['field'] = 'MY-APP-HEADER'\nload_balancer_listener_policy_rule_prototype_model['type'] = 'header'\nload_balancer_listener_policy_rule_prototype_model['value'] = 'testString'\n\nload_balancer_listener_policy_prototype_target_model = {}\nload_balancer_listener_policy_prototype_target_model['id'] = target_id\n\naction = 'forward'\npriority = 5\nname = 'my-listener-policy'\nrules = [load_balancer_listener_policy_rule_prototype_model]\ntarget = load_balancer_listener_policy_prototype_target_model\n\nresponse = service.create_load_balancer_listener_policy(\n    load_balancer_id,\n    listener_id,\n    action,\n    priority,\n    name=name,\n    rules=rules,\n    target=target,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{id}": {
      "delete": {
        "description": "Deletes a policy of the load balancer listener. This operation cannot be reversed.",
        "operationId": "delete_load_balancer_listener_policy",
        "responses": {
          "202": {
            "description": "The policy deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or listener with the specified identifier could not be found."
          }
        },
        "summary": "Delete a load balancer listener policy",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteLoadBalancerListenerPolicyOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetID(policyID)\nresponse, err := vpcService.DeleteLoadBalancerListenerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteLoadBalancerListenerPolicyOptions deleteLoadBalancerListenerPolicyOptions = new DeleteLoadBalancerListenerPolicyOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteLoadBalancerListenerPolicy(deleteLoadBalancerListenerPolicyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteLoadBalancerListenerPolicy({\n  loadBalancerId,\n  listenerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_load_balancer_listener_policy(\n  load_balancer_id, listener_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "Retrieve a single policy specified by the identifier in the URL path.",
        "operationId": "get_load_balancer_listener_policy",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action": "forward_to_listener",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 5,
                  "provisioning_status": "active",
                  "rules": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicy"
                }
              }
            },
            "description": "The policy was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or listener with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a load balancer listener policy",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerListenerPolicyOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetID(policyID)\npolicy, response, err := vpcService.GetLoadBalancerListenerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerListenerPolicyOptions getLoadBalancerListenerPolicyOptions = new GetLoadBalancerListenerPolicyOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .id(id)\n  .build();\n\nResponse<LoadBalancerListenerPolicy> response = service.getLoadBalancerListenerPolicy(getLoadBalancerListenerPolicyOptions).execute();\nLoadBalancerListenerPolicy loadBalancerListenerPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancerListenerPolicy({\n  loadBalancerId,\n  listenerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer_listener_policy(\n  load_balancer_id, listener_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerPolicyIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a load balancer listener policy with the information in a provided\npolicy patch. The policy patch object is structured in the same way as a retrieved policy\nand contains only the information to be updated.",
        "operationId": "update_load_balancer_listener_policy",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-load-balancer-listener-policy",
                "priority": 5,
                "target": {
                  "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerListenerPolicyPatch"
              }
            }
          },
          "description": "The listener policy patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action": "forward_to_listener",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": 5,
                  "provisioning_status": "active",
                  "rules": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicy"
                }
              }
            },
            "description": "The listener policy was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid listener policy patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or listener with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The listener policy patch conflicts with another listener policy on the load balancer."
          }
        },
        "summary": "Update a load balancer listener policy",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"priority\": 5\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateLoadBalancerListenerPolicyOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetID(policyID)\noptions.SetPriority(4)\noptions.SetName(\"my-policy\")\ntarget := &vpcv1.LoadBalancerListenerPolicyPatchTarget{\n  ID: &targetPoolID,\n}\noptions.SetTarget(target)\npolicy, response, err :=\n  vpcService.UpdateLoadBalancerListenerPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateLoadBalancerListenerPolicyOptions updateLoadBalancerListenerPolicyOptions = new UpdateLoadBalancerListenerPolicyOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<LoadBalancerListenerPolicy> response = service.updateLoadBalancerListenerPolicy(updateLoadBalancerListenerPolicyOptions).execute();\nLoadBalancerListenerPolicy loadBalancerListenerPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  loadBalancerId,\n  listenerId,\n  id,\n  name: 'my-load-balancer-listener-policy',\n};\n\nconst response = await vpcService.updateLoadBalancerListenerPolicy(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_listener_policy_patch_target_model = {}\nload_balancer_listener_policy_patch_target_model['id'] = target_id\n\nname = 'my-listener-policy'\npriority = 6\ntarget = load_balancer_listener_policy_patch_target_model\n\nresponse = service.update_load_balancer_listener_policy(\n    load_balancer_id,\n    listener_id,\n    id,\n    name=name,\n    priority=priority,\n    target=target,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{policy_id}/rules": {
      "get": {
        "description": "This request lists rules of a load balancer listener policy.",
        "operationId": "list_load_balancer_listener_policy_rules",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "rules": [
                    {
                      "condition": "contains",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "field": "MY-APP-HEADER",
                      "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": "body",
                      "value": "my-value"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicyRuleCollection"
                }
              }
            },
            "description": "The rules of the policy were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer, listener, or policy with the specified identifier could not be found."
          }
        },
        "summary": "List rules of a load balancer listener policy",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy-rule.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id/rules?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListLoadBalancerListenerPolicyRulesOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetPolicyID(policyID)\nrules, response, err :=\n  vpcService.ListLoadBalancerListenerPolicyRules(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListLoadBalancerListenerPolicyRulesOptions listLoadBalancerListenerPolicyRulesOptions = new ListLoadBalancerListenerPolicyRulesOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .policyId(policyId)\n  .build();\n\nResponse<LoadBalancerListenerPolicyRuleCollection> response = service.listLoadBalancerListenerPolicyRules(listLoadBalancerListenerPolicyRulesOptions).execute();\nLoadBalancerListenerPolicyRuleCollection loadBalancerListenerPolicyRuleCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listLoadBalancerListenerPolicyRules({\n  loadBalancerId,\n  listenerId,\n  policyId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_load_balancer_listener_policy_rules(\n  load_balancer_id, listener_id, policy_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerPolicyId"
        }
      ],
      "post": {
        "description": "Creates a new rule for the load balancer listener policy.",
        "operationId": "create_load_balancer_listener_policy_rule",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "condition": "contains",
                "field": "MY-APP-HEADER",
                "type": "body",
                "value": "my-value"
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerListenerPolicyRulePrototype"
              }
            }
          },
          "description": "The listener policy rule prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "condition": "contains",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "field": "MY-APP-HEADER",
                  "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": "body",
                  "value": "my-value"
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicyRule"
                }
              }
            },
            "description": "The rule was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid rule prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer, listener, or policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The rule prototype object conflicts with another rule on the listener."
          }
        },
        "summary": "Create a rule for a load balancer listener policy",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy-rule.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id/rules?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"condition\": \"contains\",\n      \"field\": \"MY-APP-HEADER\",\n      \"type\": \"header\",\n      \"value\": \"my-value\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateLoadBalancerListenerPolicyRuleOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetPolicyID(policyID)\noptions.SetCondition(\"contains\")\noptions.SetType(\"hostname\")\noptions.SetValue(\"one\")\nrule, response, err :=\n  vpcService.CreateLoadBalancerListenerPolicyRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreateLoadBalancerListenerPolicyRuleOptions createLoadBalancerListenerPolicyRuleOptions = new CreateLoadBalancerListenerPolicyRuleOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .policyId(policyId)\n  .condition(\"contains\")\n  .type(\"header\")\n  .value(\"25\")\n  .build();\n\nResponse<LoadBalancerListenerPolicyRule> response = service.createLoadBalancerListenerPolicyRule(createLoadBalancerListenerPolicyRuleOptions).execute();\nLoadBalancerListenerPolicyRule loadBalancerListenerPolicyRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  loadBalancerId,\n  listenerId,\n  policyId,\n  condition: 'contains',\n  type: 'header',\n  value,\n};\n\nconst response = await vpcService.createLoadBalancerListenerPolicyRule(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "condition = 'contains'\ntype = 'header'\nvalue = 'test'\nfield = 'MY-APP-HEADER'\n\nresponse = service.create_load_balancer_listener_policy_rule(\n    load_balancer_id,\n    listener_id,\n    policy_id,\n    condition,\n    type,\n    value,\n    field=field,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{policy_id}/rules/{id}": {
      "delete": {
        "description": "Deletes a rule from the load balancer listener policy. This operation cannot be reversed.",
        "operationId": "delete_load_balancer_listener_policy_rule",
        "responses": {
          "202": {
            "description": "The rule deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer, listener or policy with the specified identifier could not be found."
          }
        },
        "summary": "Delete a load balancer listener policy rule",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy-rule.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id/rules/$rule_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteLoadBalancerListenerPolicyRuleOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetPolicyID(policyID)\noptions.SetID(ruleID)\nresponse, err :=\n  vpcService.DeleteLoadBalancerListenerPolicyRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteLoadBalancerListenerPolicyRuleOptions deleteLoadBalancerListenerPolicyRuleOptions = new DeleteLoadBalancerListenerPolicyRuleOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .policyId(policyId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteLoadBalancerListenerPolicyRule(deleteLoadBalancerListenerPolicyRuleOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteLoadBalancerListenerPolicyRule({\n  loadBalancerId,\n  listenerId,\n  policyId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_load_balancer_listener_policy_rule(\n  load_balancer_id, listener_id, policy_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "Retrieves a single rule specified by the identifier in the URL path.",
        "operationId": "get_load_balancer_listener_policy_rule",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "condition": "contains",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "field": "MY-APP-HEADER",
                  "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": "body",
                  "value": "my-value"
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicyRule"
                }
              }
            },
            "description": "The rule was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer, listener or policy with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a load balancer listener policy rule",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy-rule.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id/rules/$rule_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerListenerPolicyRuleOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetPolicyID(policyID)\noptions.SetID(ruleID)\nrule, response, err :=\n  vpcService.GetLoadBalancerListenerPolicyRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerListenerPolicyRuleOptions getLoadBalancerListenerPolicyRuleOptions = new GetLoadBalancerListenerPolicyRuleOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .policyId(policyId)\n  .id(id)\n  .build();\n\nResponse<LoadBalancerListenerPolicyRule> response = service.getLoadBalancerListenerPolicyRule(getLoadBalancerListenerPolicyRuleOptions).execute();\nLoadBalancerListenerPolicyRule loadBalancerListenerPolicyRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancerListenerPolicyRule({\n  loadBalancerId,\n  listenerId,\n  policyId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer_listener_policy_rule(\n  load_balancer_id, listener_id, policy_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerPolicyId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerListenerPolicyRuleIdUnqualified"
        }
      ],
      "patch": {
        "description": "Updates a rule of the load balancer listener policy.",
        "operationId": "update_load_balancer_listener_policy_rule",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "condition": "contains",
                "field": "MY-APP-HEADER",
                "type": "body",
                "value": "my-value"
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerListenerPolicyRulePatch"
              }
            }
          },
          "description": "The listener policy rule patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "condition": "contains",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "field": "MY-APP-HEADER",
                  "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": "body",
                  "value": "my-value"
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerListenerPolicyRule"
                }
              }
            },
            "description": "The listener policy rule was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid rule patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer, listener or policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The rule patch conflicts with another rule on the listener."
          }
        },
        "summary": "Update a load balancer listener policy rule",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-listener-policy-rule.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/listeners/$listener_id/policies/$policy_id/rules/$rule_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"value\": \"my-new-value\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateLoadBalancerListenerPolicyRuleOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetListenerID(listenerID)\noptions.SetPolicyID(policyID)\noptions.SetID(ruleID)\noptions.SetCondition(\"equals\")\noptions.SetType(\"header\")\noptions.SetValue(\"1\")\noptions.SetField(\"some-name\")\nrule, response, err :=\n  vpcService.UpdateLoadBalancerListenerPolicyRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateLoadBalancerListenerPolicyRuleOptions updateLoadBalancerListenerPolicyRuleOptions = new UpdateLoadBalancerListenerPolicyRuleOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .listenerId(listenerId)\n  .policyId(policyId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<LoadBalancerListenerPolicyRule> response = service.updateLoadBalancerListenerPolicyRule(updateLoadBalancerListenerPolicyRuleOptions).execute();\nLoadBalancerListenerPolicyRule loadBalancerListenerPolicyRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  loadBalancerId,\n  listenerId,\n  policyId,\n  id,\n  condition: 'contains',\n  type: 'header',\n};\n\nconst response = await vpcService.updateLoadBalancerListenerPolicyRule(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "condition = 'contains'\nfield = 'MY-APP-HEADER'\ntype = 'header'\nvalue = 'testValue'\n\nresponse = service.update_load_balancer_listener_policy_rule(\n    load_balancer_id,\n    listener_id,\n    policy_id,\n    id,\n    condition=condition,\n    field=field,\n    type=type,\n    value=value,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/pools": {
      "get": {
        "description": "This request lists pools of a load balancer.",
        "operationId": "list_load_balancer_pools",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "pools": [
                    {
                      "algorithm": "least_connections",
                      "client_authentication": {
                        "certificate_instance": {
                          "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                        }
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "failsafe_policy": {
                        "action": "bypass",
                        "healthy_member_threshold_count": 1,
                        "target": {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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,
                        "port": 22,
                        "request": {
                          "body": "ACTIVE",
                          "headers": [
                            {
                              "field": "Content-Type",
                              "value": "text/plain"
                            }
                          ],
                          "method": "get"
                        },
                        "response": {
                          "body_regex": "ACTIVE",
                          "codes": [
                            "2XX"
                          ]
                        },
                        "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",
                      "instance_group": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "members": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ],
                      "name": "my-load-balancer-pool",
                      "protocol": "http",
                      "provisioning_status": "active",
                      "proxy_protocol": "disabled",
                      "server_authentication": {
                        "certificate_authority": {
                          "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                        },
                        "verify_certificate": true
                      },
                      "session_persistence": {
                        "cookie_name": "my-cookie-name",
                        "type": "app_cookie"
                      }
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPoolCollection"
                }
              }
            },
            "description": "The pools of the load balancer were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          }
        },
        "summary": "List pools of a load balancer",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListLoadBalancerPoolsOptions{}\noptions.SetLoadBalancerID(id)\npools, response, err := vpcService.ListLoadBalancerPools(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListLoadBalancerPoolsOptions listLoadBalancerPoolsOptions = new ListLoadBalancerPoolsOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .build();\n\nResponse<LoadBalancerPoolCollection> response = service.listLoadBalancerPools(listLoadBalancerPoolsOptions).execute();\nLoadBalancerPoolCollection loadBalancerPoolCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listLoadBalancerPools({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_load_balancer_pools(load_balancer_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        }
      ],
      "post": {
        "description": "This request creates a new pool from a pool prototype object.",
        "operationId": "create_load_balancer_pool",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "algorithm": "least_connections",
                "client_authentication": {
                  "certificate_instance": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  }
                },
                "failsafe_policy": {
                  "action": "bypass",
                  "target": {
                    "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                  }
                },
                "health_monitor": {
                  "delay": 5,
                  "max_retries": 2,
                  "port": 22,
                  "timeout": 2,
                  "type": "http"
                },
                "members": [
                  {
                    "port": 80,
                    "target": {
                      "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0"
                    },
                    "weight": 50
                  }
                ],
                "name": "my-load-balancer-pool",
                "protocol": "http",
                "proxy_protocol": "disabled",
                "server_authentication": {
                  "certificate_authority": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  },
                  "verify_certificate": true
                },
                "session_persistence": {
                  "cookie_name": "my-cookie-name",
                  "type": "app_cookie"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerPoolPrototype"
              }
            }
          },
          "description": "The load balancer pool prototype object.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "algorithm": "least_connections",
                  "client_authentication": {
                    "certificate_instance": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "failsafe_policy": {
                    "action": "bypass",
                    "healthy_member_threshold_count": 1,
                    "target": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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,
                    "port": 22,
                    "request": {
                      "body": "ACTIVE",
                      "headers": [
                        {
                          "field": "Content-Type",
                          "value": "text/plain"
                        }
                      ],
                      "method": "get"
                    },
                    "response": {
                      "body_regex": "ACTIVE",
                      "codes": [
                        "2XX"
                      ]
                    },
                    "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",
                  "instance_group": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "members": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "name": "my-load-balancer-pool",
                  "protocol": "http",
                  "provisioning_status": "active",
                  "proxy_protocol": "disabled",
                  "server_authentication": {
                    "certificate_authority": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    },
                    "verify_certificate": true
                  },
                  "session_persistence": {
                    "cookie_name": "my-cookie-name",
                    "type": "app_cookie"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPool"
                }
              }
            },
            "description": "The pool was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid pool prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer pool prototype object conflicts with other load balancer pool\nfor the load balancer."
          }
        },
        "summary": "Create a load balancer pool",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-pool\",\n      \"algorithm\": \"round_robin\",\n      \"health_monitor\": {\n        \"delay\": 51,\n        \"max_retries\": 3,\n        \"timeout\": 21,\n        \"type\": \"http\",\n        \"url_path\": \"/\"\n      },\n      \"protocol\": \"http\",\n      \"session_persistence\": {\n        \"cookie_name\": \"my-cookie-name\",\n        \"type\": \"app_cookie\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateLoadBalancerPoolOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetAlgorithm(\"round_robin\")\noptions.SetHealthMonitor(&vpcv1.LoadBalancerPoolHealthMonitorPrototype{\n  Delay:      core.Int64Ptr(5),\n  MaxRetries: core.Int64Ptr(2),\n  Timeout:    core.Int64Ptr(4),\n  Type:       core.StringPtr(\"http\"),\n})\noptions.SetName(name)\noptions.SetProtocol(\"http\")\npool, response, err := vpcService.CreateLoadBalancerPool(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "LoadBalancerPoolHealthMonitorPrototype loadBalancerPoolHealthMonitorPrototypeModel = new LoadBalancerPoolHealthMonitorPrototype.Builder()\n  .delay(Long.valueOf(\"5\"))\n  .maxRetries(Long.valueOf(\"2\"))\n  .timeout(Long.valueOf(\"2\"))\n  .type(\"http\")\n  .build();\nCreateLoadBalancerPoolOptions createLoadBalancerPoolOptions = new CreateLoadBalancerPoolOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .algorithm(\"least_connections\")\n  .protocol(\"http\")\n  .healthMonitor(loadBalancerPoolHealthMonitorPrototypeModel)\n  .build();\n\nResponse<LoadBalancerPool> response = service.createLoadBalancerPool(createLoadBalancerPoolOptions).execute();\nLoadBalancerPool loadBalancerPool = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const loadBalancerPoolHealthMonitorPrototypeModel = {\n  delay: 5,\n  max_retries: 2,\n  port: 22,\n  timeout: 2,\n  type: 'http',\n  url_path: '/',\n};\n\nconst params = {\n  loadBalancerId,\n  name: 'my-load-balancer-pool',\n  algorithm: 'least_connections',\n  protocol: 'http',\n  healthMonitor: loadBalancerPoolHealthMonitorPrototypeModel,\n};\n\nconst response = await vpcService.createLoadBalancerPool(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_pool_health_monitor_prototype_model = {}\nload_balancer_pool_health_monitor_prototype_model['delay'] = 5\nload_balancer_pool_health_monitor_prototype_model['max_retries'] = 2\nload_balancer_pool_health_monitor_prototype_model['port'] = 22\nload_balancer_pool_health_monitor_prototype_model['timeout'] = 2\nload_balancer_pool_health_monitor_prototype_model['type'] = 'http'\nload_balancer_pool_health_monitor_prototype_model['url_path'] = '/'\n\nload_balancer_pool_member_target_prototype_model = {}\nload_balancer_pool_member_target_prototype_model[\n    'address'] = '192.168.3.4'\n\nload_balancer_pool_member_prototype_model = {}\nload_balancer_pool_member_prototype_model['port'] = 80\nload_balancer_pool_member_prototype_model[\n    'target'] = load_balancer_pool_member_target_prototype_model\nload_balancer_pool_member_prototype_model['weight'] = 50\n\nload_balancer_pool_session_persistence_prototype_model = {}\nload_balancer_pool_session_persistence_prototype_model[\n    'type'] = 'source_ip'\n\nalgorithm = 'least_connections'\nhealth_monitor = load_balancer_pool_health_monitor_prototype_model\nprotocol = 'http'\nmembers = [load_balancer_pool_member_prototype_model]\nname = 'my-load-balancer-pool'\nsession_persistence = load_balancer_pool_session_persistence_prototype_model\n\nresponse = service.create_load_balancer_pool(\n    load_balancer_id,\n    algorithm,\n    health_monitor,\n    protocol,\n    members=members,\n    name=name,\n    session_persistence=session_persistence,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/pools/{id}": {
      "delete": {
        "description": "This request deletes a load balancer pool. This operation cannot be reversed. The pool\nmust not currently be the default pool for any listener in the load balancer, nor be the\ntarget pool in the failsafe policy for any other pool.",
        "operationId": "delete_load_balancer_pool",
        "responses": {
          "202": {
            "description": "The pool deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or pool with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The pool is currently the default pool for one or more listeners, or the pool is\nthe target for a listener policy, or the pool is the target for a pool failsafe\npolicy."
          }
        },
        "summary": "Delete a load balancer pool",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool.delete"
            },
            {
              "description": "Generated for each pool member if the member's target was a load balancer.",
              "name": "is.load-balancer.pool-member.detach"
            },
            {
              "description": "Generated for each load balancer targeted by pool members, if any.",
              "name": "is.load-balancer.load-balancer.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for the load balancer specified in the URL. Also required for each load\nbalancer targeted by members of the pool specified in the URL.",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteLoadBalancerPoolOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetID(poolID)\nresponse, err := vpcService.DeleteLoadBalancerPool(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteLoadBalancerPoolOptions deleteLoadBalancerPoolOptions = new DeleteLoadBalancerPoolOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteLoadBalancerPool(deleteLoadBalancerPoolOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteLoadBalancerPool({\n  loadBalancerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_load_balancer_pool(load_balancer_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single pool specified by the identifier in the URL path.",
        "operationId": "get_load_balancer_pool",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "algorithm": "least_connections",
                  "client_authentication": {
                    "certificate_instance": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "failsafe_policy": {
                    "action": "bypass",
                    "healthy_member_threshold_count": 1,
                    "target": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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,
                    "port": 22,
                    "request": {
                      "body": "ACTIVE",
                      "headers": [
                        {
                          "field": "Content-Type",
                          "value": "text/plain"
                        }
                      ],
                      "method": "get"
                    },
                    "response": {
                      "body_regex": "ACTIVE",
                      "codes": [
                        "2XX"
                      ]
                    },
                    "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",
                  "instance_group": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "members": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "name": "my-load-balancer-pool",
                  "protocol": "http",
                  "provisioning_status": "active",
                  "proxy_protocol": "disabled",
                  "server_authentication": {
                    "certificate_authority": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    },
                    "verify_certificate": true
                  },
                  "session_persistence": {
                    "cookie_name": "my-cookie-name",
                    "type": "app_cookie"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPool"
                }
              }
            },
            "description": "The pool was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a load balancer pool",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerPoolOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetID(poolID)\npool, response, err := vpcService.GetLoadBalancerPool(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerPoolOptions getLoadBalancerPoolOptions = new GetLoadBalancerPoolOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .id(id)\n  .build();\n\nResponse<LoadBalancerPool> response = service.getLoadBalancerPool(getLoadBalancerPoolOptions).execute();\nLoadBalancerPool loadBalancerPool = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancerPool({\n  loadBalancerId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer_pool(load_balancer_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerPoolIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a load balancer pool from a pool patch.",
        "operationId": "update_load_balancer_pool",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "algorithm": "least_connections",
                "client_authentication": {
                  "certificate_instance": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  }
                },
                "failsafe_policy": {
                  "action": "bypass",
                  "target": {
                    "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
                  }
                },
                "health_monitor": {
                  "delay": 5,
                  "max_retries": 2,
                  "port": 22,
                  "request": {
                    "body": "ACTIVE",
                    "headers": [
                      {
                        "field": "Content-Type",
                        "value": "text/plain"
                      }
                    ],
                    "method": "get"
                  },
                  "response": {
                    "body_regex": "ACTIVE",
                    "codes": [
                      "2XX"
                    ]
                  },
                  "timeout": 2,
                  "type": "http",
                  "url_path": "/"
                },
                "name": "my-load-balancer-pool",
                "protocol": "http",
                "proxy_protocol": "disabled",
                "server_authentication": {
                  "certificate_authority": {
                    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                  },
                  "verify_certificate": true
                },
                "session_persistence": {
                  "cookie_name": "my-cookie-name",
                  "type": "app_cookie"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerPoolPatch"
              }
            }
          },
          "description": "The load balancer pool patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "algorithm": "least_connections",
                  "client_authentication": {
                    "certificate_instance": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "failsafe_policy": {
                    "action": "bypass",
                    "healthy_member_threshold_count": 1,
                    "target": {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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,
                    "port": 22,
                    "request": {
                      "body": "ACTIVE",
                      "headers": [
                        {
                          "field": "Content-Type",
                          "value": "text/plain"
                        }
                      ],
                      "method": "get"
                    },
                    "response": {
                      "body_regex": "ACTIVE",
                      "codes": [
                        "2XX"
                      ]
                    },
                    "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",
                  "instance_group": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::instance-group:r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "members": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ],
                  "name": "my-load-balancer-pool",
                  "protocol": "http",
                  "provisioning_status": "active",
                  "proxy_protocol": "disabled",
                  "server_authentication": {
                    "certificate_authority": {
                      "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5"
                    },
                    "verify_certificate": true
                  },
                  "session_persistence": {
                    "cookie_name": "my-cookie-name",
                    "type": "app_cookie"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPool"
                }
              }
            },
            "description": "The load balancer pool was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid pool patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A pool with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The pool patch conflicts with another pool on the load balancer, or\nthe requested update conflicts with the current load balancer configuration\ndue to one or more of:\n- A `protocol` that is incompatible with the listener's protocol\n- A `protocol` that is incompatible with the failsafe target pool's protocol\n- A failsafe policy `action` other than `forward` with a failsafe policy `target`\nset\n- A failsafe policy `action` of `forward` without a failsafe policy `target` set"
          }
        },
        "summary": "Update a load balancer pool",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n        \"name\": \"my-pool\",\n        \"session_persistence\": {\n            \"type\": \"source_ip\"\n        }\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateLoadBalancerPoolOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetID(poolID)\noptions.SetProtocol(\"tcp\")\npool, response, err := vpcService.UpdateLoadBalancerPool(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateLoadBalancerPoolOptions updateLoadBalancerPoolOptions = new UpdateLoadBalancerPoolOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<LoadBalancerPool> response = service.updateLoadBalancerPool(updateLoadBalancerPoolOptions).execute();\nLoadBalancerPool loadBalancerPool = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  loadBalancerId,\n  id,\n  algorithm,\n  name: 'my-load-balancer-pool',\n};\n\nconst response = await vpcService.updateLoadBalancerPool(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_pool_health_monitor_patch_model = {}\nload_balancer_pool_health_monitor_patch_model['delay'] = 5\nload_balancer_pool_health_monitor_patch_model['max_retries'] = 2\nload_balancer_pool_health_monitor_patch_model['port'] = 22\nload_balancer_pool_health_monitor_patch_model['timeout'] = 2\nload_balancer_pool_health_monitor_patch_model['type'] = 'http'\nload_balancer_pool_health_monitor_patch_model['url_path'] = '/'\n\nload_balancer_pool_session_persistence_patch_model = {}\nload_balancer_pool_session_persistence_patch_model['type'] = 'source_ip'\n\nalgorithm = 'least_connections'\nhealth_monitor = load_balancer_pool_health_monitor_patch_model\nname = 'my-load-balancer-pool'\nprotocol = 'http'\nsession_persistence = load_balancer_pool_session_persistence_patch_model\n\nresponse = service.update_load_balancer_pool(\n    load_balancer_id,\n    id,\n    algorithm=algorithm,\n    health_monitor=health_monitor,\n    name=name,\n    protocol=protocol,\n    session_persistence=session_persistence,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/pools/{pool_id}/members": {
      "get": {
        "description": "This request lists members of a load balancer pool.",
        "operationId": "list_load_balancer_pool_members",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "members": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "health": "faulted",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPoolMemberCollection"
                }
              }
            },
            "description": "The members of the load balancer pool were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or pool with the specified identifier could not be found."
          }
        },
        "summary": "List members of a load balancer pool",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool-member.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id/members?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListLoadBalancerPoolMembersOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetPoolID(poolID)\nmembers, response, err := vpcService.ListLoadBalancerPoolMembers(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListLoadBalancerPoolMembersOptions listLoadBalancerPoolMembersOptions = new ListLoadBalancerPoolMembersOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .poolId(poolId)\n  .build();\n\nResponse<LoadBalancerPoolMemberCollection> response = service.listLoadBalancerPoolMembers(listLoadBalancerPoolMembersOptions).execute();\nLoadBalancerPoolMemberCollection loadBalancerPoolMemberCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listLoadBalancerPoolMembers({\n  loadBalancerId,\n  id: poolId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_load_balancer_pool_members(\n  load_balancer_id, pool_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerPoolId"
        }
      ],
      "post": {
        "description": "This request creates a new member and adds the member to the pool.\n\nThe pool must not already have a member targeting a load balancer.",
        "operationId": "create_load_balancer_pool_member",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "port": 80,
                "target": {
                  "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0"
                },
                "weight": 50
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerPoolMemberPrototype"
              }
            }
          },
          "description": "The load balancer pool member prototype object.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "health": "faulted",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPoolMember"
                }
              }
            },
            "description": "The member was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid member prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or pool with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The load balancer pool member prototype object conflicts with\nanother load balancer pool member in the VPC."
          }
        },
        "summary": "Create a member in a load balancer pool",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool-member.create"
            },
            {
              "description": "Generated for the pool member specified in the URL when the target is a load balancer.",
              "name": "is.load-balancer.pool-member.attach"
            },
            {
              "description": "Generated for the load balancer targeted by the pool member specified in the URL,\nif any.",
              "name": "is.load-balancer.load-balancer.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for the load balancer specified in the URL. Also required for the load\nbalancer targeted by the pool member specified in the URL, if any.",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id/members?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"port\": 80,\n  \"target\": {\n    \"address\": \"10.0.0.99\"\n  }\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateLoadBalancerPoolMemberOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetPoolID(poolID)\noptions.SetPort(1234)\noptions.SetTarget(&vpcv1.LoadBalancerPoolMemberTargetPrototype{\n  Address: &ip,\n})\nmember, response, err := vpcService.CreateLoadBalancerPoolMember(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "LoadBalancerPoolMemberTargetPrototypeIP loadBalancerPoolMemberTargetPrototypeModel = new LoadBalancerPoolMemberTargetPrototypeIP.Builder()\n.address(address)\n.build();\nCreateLoadBalancerPoolMemberOptions createLoadBalancerPoolMemberOptions = new CreateLoadBalancerPoolMemberOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .poolId(poolId)\n  .port(Long.valueOf(\"80\"))\n  .target(loadBalancerPoolMemberTargetPrototypeModel)\n  .build();\n\nResponse<LoadBalancerPoolMember> response = service.createLoadBalancerPoolMember(createLoadBalancerPoolMemberOptions).execute();\nLoadBalancerPoolMember loadBalancerPoolMember = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const loadBalancerPoolMemberTargetPrototypeModel = {\n  id: {\n    address: '192.168.3.4',\n  },\n};\n\nconst params = {\n  loadBalancerId,\n  poolId,\n  port: 80,\n  target: loadBalancerPoolMemberTargetPrototypeModel,\n  weight: 50,\n};\n\nconst response = await vpcService.createLoadBalancerPoolMember(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_pool_member_target_prototype_model = {}\nload_balancer_pool_member_target_prototype_model[\n    'address'] = '192.168.3.4'\n\nport = 80\ntarget = load_balancer_pool_member_target_prototype_model\nweight = 50\n\nresponse = service.create_load_balancer_pool_member(\n    load_balancer_id,\n    pool_id,\n    port,\n    target,\n    weight=weight,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "put": {
        "description": "This request replaces the existing members of the load balancer pool with new members\ncreated from the collection of member prototype objects.",
        "operationId": "replace_load_balancer_pool_members",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "members": [
                  {
                    "port": 80,
                    "target": {
                      "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0"
                    },
                    "weight": 50
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerPoolMemberCollectionPrototype"
              }
            }
          },
          "description": "The collection of prototype objects for load balancer pool members.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "members": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "health": "faulted",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPoolMemberCollection"
                }
              }
            },
            "description": "The load balancer pool member was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid member prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer or pool with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer pool member prototype object conflicts with other load balancer pool\nmembers in the VPC."
          }
        },
        "summary": "Replace load balancer pool members",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": []
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PUT \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id/members?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n  \"members\": [\n    {\n      \"port\": 80,\n      \"target\": {\n        \"address\": \"10.0.0.99\"\n      }\n    },\n    {\n      \"port\": 81,\n      \"target\": {\n        \"address\": \"10.0.0.100\"\n      }\n    }\n  ]\n}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ReplaceLoadBalancerPoolMembersOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetPoolID(poolID)\noptions.SetMembers([]vpcv1.LoadBalancerPoolMemberPrototype{\n  vpcv1.LoadBalancerPoolMemberPrototype{\n    Port: core.Int64Ptr(2345),\n    Target: &vpcv1.LoadBalancerPoolMemberTargetPrototype{\n      Address: &ip,\n    },\n  },\n})\nmember, response, err :=\n  vpcService.ReplaceLoadBalancerPoolMembers(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "LoadBalancerPoolMemberTargetPrototypeIP loadBalancerPoolMemberTargetPrototypeModel = new LoadBalancerPoolMemberTargetPrototypeIP.Builder()\n.address(\"192.168.3.4\")\n.build();\n\nLoadBalancerPoolMemberPrototype loadBalancerPoolMemberPrototypeModel = new LoadBalancerPoolMemberPrototype.Builder()\n.port(Long.valueOf(\"80\"))\n.target(loadBalancerPoolMemberTargetPrototypeModel)\n.weight(Long.valueOf(\"50\"))\n.build();\n\nReplaceLoadBalancerPoolMembersOptions replaceLoadBalancerPoolMembersOptions = new ReplaceLoadBalancerPoolMembersOptions.Builder()\n.loadBalancerId(loadBalancerId)\n.poolId(poolId)\n.members(new java.util.ArrayList<LoadBalancerPoolMemberPrototype>(java.util.Arrays.asList(loadBalancerPoolMemberPrototypeModel)))\n.build();\nResponse<LoadBalancerPoolMemberCollection> response = service.replaceLoadBalancerPoolMembers(replaceLoadBalancerPoolMembersOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const loadBalancerPoolMemberPrototypeModel = {\n  port: 80,\n  weight: 50,\n};\nconst params = {\n  loadBalancerId,\n  id: poolId,\n  members: [loadBalancerPoolMemberPrototypeModel],\n};\nconst response = await vpcService.replaceLoadBalancerPoolMembers(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_pool_member_target_prototype_model = {}\n load_balancer_pool_member_target_prototype_model[\n     'address'] = '192.168.3.4'\n\n load_balancer_pool_member_prototype_model = {}\n load_balancer_pool_member_prototype_model['port'] = 82\n load_balancer_pool_member_prototype_model[\n     'target'] = load_balancer_pool_member_target_prototype_model\n load_balancer_pool_member_prototype_model['weight'] = 50\n\n members = [load_balancer_pool_member_prototype_model]\n\n response = service.replace_load_balancer_pool_members(\n     load_balancer_id,\n     pool_id,\n     members,\n )"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/load_balancers/{load_balancer_id}/pools/{pool_id}/members/{id}": {
      "delete": {
        "description": "This request deletes a member from the pool. This operation cannot be reversed.",
        "operationId": "delete_load_balancer_pool_member",
        "responses": {
          "202": {
            "description": "The member deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A load balancer, pool or member with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The load balancer pool member is managed by an instance group."
          }
        },
        "summary": "Delete a load balancer pool member",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool-member.delete"
            },
            {
              "description": "Generated for the pool member specified in the URL if its target was a load balancer.",
              "name": "is.load-balancer.pool-member.detach"
            },
            {
              "description": "Generated for the load balancer that was targeted by the pool member specified in the\nURL, if any.",
              "name": "is.load-balancer.load-balancer.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for the load balancer specified in the URL. Also required for the load\nbalancer targeted by the pool member specified in the URL, if any.",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id/members/$member_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteLoadBalancerPoolMemberOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetPoolID(poolID)\noptions.SetID(memberID)\nresponse, err := vpcService.DeleteLoadBalancerPoolMember(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteLoadBalancerPoolMemberOptions deleteLoadBalancerPoolMemberOptions = new DeleteLoadBalancerPoolMemberOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .poolId(poolId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteLoadBalancerPoolMember(deleteLoadBalancerPoolMemberOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteLoadBalancerPoolMember({\n  loadBalancerId,\n  poolId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_load_balancer_pool_member(\n  load_balancer_id, pool_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single member specified by the identifier in the URL path.",
        "operationId": "get_load_balancer_pool_member",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "health": "faulted",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPoolMember"
                }
              }
            },
            "description": "The member was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A member with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a load balancer pool member",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool-member.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.load-balancer.load-balancer.view"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id/members/$member_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetLoadBalancerPoolMemberOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetPoolID(poolID)\noptions.SetID(memberID)\nmember, response, err := vpcService.GetLoadBalancerPoolMember(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetLoadBalancerPoolMemberOptions getLoadBalancerPoolMemberOptions = new GetLoadBalancerPoolMemberOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .poolId(poolId)\n  .id(id)\n  .build();\n\nResponse<LoadBalancerPoolMember> response = service.getLoadBalancerPoolMember(getLoadBalancerPoolMemberOptions).execute();\nLoadBalancerPoolMember loadBalancerPoolMember = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getLoadBalancerPoolMember({\n  loadBalancerId,\n  poolId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_load_balancer_pool_member(\n  load_balancer_id, pool_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/loadBalancerId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerPoolId"
        },
        {
          "$ref": "#/components/parameters/loadBalancerPoolMemberIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an existing member from a member patch.",
        "operationId": "update_load_balancer_pool_member",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "port": 80,
                "target": {
                  "id": "0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0"
                },
                "weight": 50
              },
              "schema": {
                "$ref": "#/components/schemas/LoadBalancerPoolMemberPatch"
              }
            }
          },
          "description": "The load balancer pool member patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "health": "faulted",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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
                },
                "schema": {
                  "$ref": "#/components/schemas/LoadBalancerPoolMember"
                }
              }
            },
            "description": "The pool member was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid pool member patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A pool member with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The load balancer pool member patch conflicts with\nanother load balancer pool member in the VPC."
          }
        },
        "summary": "Update a load balancer pool member",
        "tags": [
          "Load balancers"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.load-balancer.load-balancer-pool-member.update"
            },
            {
              "description": "Generated for the pool member specified in the URL if its target was a load balancer.",
              "name": "is.load-balancer.pool-member.detach"
            },
            {
              "description": "Generated for the load balancer that was targeted by the pool member specified in the\nURL, if any.",
              "name": "is.load-balancer.load-balancer.detach"
            },
            {
              "description": "Generated for the pool member specified in the URL when the new target is a\nload balancer.",
              "name": "is.load-balancer.pool-member.attach"
            },
            {
              "description": "Generated for the load balancer targeted by the pool member specified in the URL,\nif any.",
              "name": "is.load-balancer.load-balancer.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "description": "Required for the load balancer specified in the URL. Also required for the target\nload balancer being replaced, if any, and for the new target load balancer, if any,\nof the pool member specified in the URL.",
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id/members/$member_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\"port\": 82}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateLoadBalancerPoolMemberOptions{}\noptions.SetLoadBalancerID(lbID)\noptions.SetPoolID(poolID)\noptions.SetID(memberID)\noptions.SetPort(3434)\nmember, response, err := vpcService.UpdateLoadBalancerPoolMember(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateLoadBalancerPoolMemberOptions updateLoadBalancerPoolMemberOptions = new UpdateLoadBalancerPoolMemberOptions.Builder()\n  .loadBalancerId(loadBalancerId)\n  .poolId(poolId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<LoadBalancerPoolMember> response = service.updateLoadBalancerPoolMember(updateLoadBalancerPoolMemberOptions).execute();\nLoadBalancerPoolMember loadBalancerPoolMember = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const loadBalancerPoolMemberPrototypeModel = {\n  port: 80,\n  weight: 50,\n};\n\nconst response = await vpcService.updateLoadBalancerPoolMember({\n  loadBalancerId,\n  poolId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_pool_member_target_prototype_model = {}\nload_balancer_pool_member_target_prototype_model[\n    'address'] = '192.168.3.4'\nport = 81\ntarget = load_balancer_pool_member_target_prototype_model\nweight = 52\n\nresponse = service.update_load_balancer_pool_member(\n    load_balancer_id,\n    pool_id,\n    id,\n    port=port,\n    target=target,\n    weight=weight,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/network_acls": {
      "get": {
        "description": "This request lists network ACLs in the region. A network ACL defines a set of packet\nfiltering rules for traffic in and out of the subnets the network ACL is attached to.\nNo traffic is allowed by default. Both allow and deny rules can be defined, and rules\nare stateless so that reverse traffic in response to allowed traffic is not automatically\nallowed.",
        "operationId": "list_network_acls",
        "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/network_acls?limit=20"
                  },
                  "limit": 20,
                  "network_acls": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "my-resource-group"
                      },
                      "rules": [
                        {
                          "action": "allow",
                          "before": {
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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-network-acl-rule"
                          },
                          "created_at": "2026-01-02T03:04:05.006Z",
                          "destination": "192.168.3.0/24",
                          "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-network-acl-rule",
                          "protocol": "ah",
                          "source": "192.168.3.0/24"
                        }
                      ],
                      "subnets": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkACLCollection"
                }
              }
            },
            "description": "The network ACLs were retrieved successfully"
          }
        },
        "summary": "List network ACLs",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.network-acl.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.network-acl.network-acl.list"
            },
            {
              "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/network_acls?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListNetworkAclsOptions{}\nacls, response, err := vpcService.ListNetworkAcls(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListNetworkAclsOptions listNetworkAclsOptions = new ListNetworkAclsOptions.Builder()\n  .build();\n\nResponse<NetworkACLCollection> response = service.listNetworkAcls(listNetworkAclsOptions).execute();\nNetworkACLCollection networkAclCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listNetworkAcls();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_network_acls()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new stateless network ACL from a network ACL prototype object. The\nprototype object is structured in the same way as a retrieved network ACL, and contains the\ninformation necessary to create the new network ACL.",
        "operationId": "create_network_acl",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-network-acl",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "rules": [
                  {
                    "action": "allow",
                    "destination": "192.168.3.2/32",
                    "direction": "inbound",
                    "ip_version": "ipv4",
                    "name": "my-network-acl-rule",
                    "protocol": "ah",
                    "source": "192.168.3.2/32"
                  }
                ],
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/NetworkACLPrototype"
              }
            }
          },
          "description": "The network ACL prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "action": "allow",
                      "before": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-network-acl-rule"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "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-network-acl-rule",
                      "protocol": "ah",
                      "source": "192.168.3.0/24"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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 created successfully"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid network ACL prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The network ACL prototype object conflicts with another network ACL\nin the VPC."
          }
        },
        "summary": "Create a network ACL",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.network-acl.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.network-acl.network-acl.create"
            },
            {
              "description": "Required when `source_network_acl` is specified",
              "name": "is.network-acl.network-acl.read"
            },
            {
              "name": "is.vpc.vpc.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/network_acls?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\" \\\n  -d '{\n        \"name\": \"my-network-acl\",\n        \"vpc\": {\n          \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n        }\n      }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateNetworkACLOptions{}\noptions.SetNetworkACLPrototype(&vpcv1.NetworkACLPrototype{\n  Name: &name,\n  SourceNetworkAcl: &vpcv1.NetworkACLIdentity{\n    ID: &copyableAclID,\n  },\n  Vpc: &vpcv1.VPCIdentity{\n    ID: &vpcID,\n  },\n})\nacl, response, err := vpcService.CreateNetworkACL(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "VPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nNetworkACLPrototypeNetworkACLByRules networkAclPrototypeModel = new NetworkACLPrototypeNetworkACLByRules.Builder()\n  .name(\"my-network-acl\")\n  .vpc(vpcIdentityModel)\n  .build();\nCreateNetworkAclOptions createNetworkAclOptions = new CreateNetworkAclOptions.Builder()\n  .networkAclPrototype(networkAclPrototypeModel)\n  .build();\n\nResponse<NetworkACL> response = service.createNetworkAcl(createNetworkAclOptions).execute();\nNetworkACL networkAcl = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const networkAclRulePrototypeNetworkAclContextModel = {\n  name: 'my-network-acl-rule',\n  action: 'allow',\n  destination: '192.168.3.2/32',\n  direction: 'inbound',\n  source: '192.168.3.2/32',\n  protocol: 'tcp',\n};\n\nconst networkAclPrototypeModel = {\n  name: 'my-network-acl',\n  vpc: {\n    id: vpcID,\n  },\n  rules: [networkAclRulePrototypeNetworkAclContextModel],\n};\n\nconst params = {\n  networkAclPrototype: networkAclPrototypeModel,\n};\nconst response = await vpcService.createNetworkAcl(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "network_acl_rule_prototype_network_acl_context_model = {}\nnetwork_acl_rule_prototype_network_acl_context_model['action'] = 'allow'\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'destination'] = '192.168.3.0/24'\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'direction'] = 'inbound'\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'id'] = network_acl_rule_id\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'ip_version'] = 'ipv4'\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'name'] = 'my-rule-2'\nnetwork_acl_rule_prototype_network_acl_context_model['protocol'] = 'udp'\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'source'] = '192.168.3.0/24'\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'destination_port_max'] = 22\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'destination_port_min'] = 22\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'source_port_max'] = 65535\nnetwork_acl_rule_prototype_network_acl_context_model[\n    'source_port_min'] = 49152\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nvpc_identity_model = {}\nvpc_identity_model['id'] = vpc_id\n\nnetwork_acl_prototype_model = {}\nnetwork_acl_prototype_model['name'] = 'my-network-acl'\nnetwork_acl_prototype_model[\n    'resource_group'] = resource_group_identity_model\nnetwork_acl_prototype_model['vpc'] = vpc_identity_model\nnetwork_acl_prototype_model['rules'] = [\n    network_acl_rule_prototype_network_acl_context_model\n]\nnetwork_acl_reference_model = {}\nnetwork_acl_reference_model['id'] = source_network_acl_id\nnetwork_acl_prototype_model['source_network_acl'] = network_acl_reference_model\n\nnetwork_acl_prototype = network_acl_prototype_model\n\nresponse = service.create_network_acl(\n    network_acl_prototype=network_acl_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/network_acls/{id}": {
      "delete": {
        "description": "This request deletes a network ACL. This operation cannot be reversed. For this request to\nsucceed, the network ACL must not be the default network ACL for any VPCs, and the network\nACL must not be attached to any subnets.",
        "operationId": "delete_network_acl",
        "responses": {
          "204": {
            "description": "The network ACL was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A default network ACL is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The network ACL is in use and cannot be deleted."
          }
        },
        "summary": "Delete a network ACL",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.network-acl.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.network-acl.network-acl.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/network_acls/$network_acl_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteNetworkACLOptions{}\noptions.SetID(ID)\nresponse, err := vpcService.DeleteNetworkACL(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteNetworkAclRuleOptions deleteNetworkAclRuleOptions = new DeleteNetworkAclRuleOptions.Builder()\n  .networkAclId(networkAclId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteNetworkAclRule(deleteNetworkAclRuleOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteNetworkAcl({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_network_acl(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single network ACL specified by the identifier in the URL.",
        "operationId": "get_network_acl",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "action": "allow",
                      "before": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-network-acl-rule"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "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-network-acl-rule",
                      "protocol": "ah",
                      "source": "192.168.3.0/24"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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 retrieved successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a network ACL",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.network-acl.read"
            }
          ]
        },
        "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/network_acls/$network_acl_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetNetworkACLOptions{}\noptions.SetID(ID)\nacl, response, err := vpcService.GetNetworkACL(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetNetworkAclOptions getNetworkAclOptions = new GetNetworkAclOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<NetworkACL> response = service.getNetworkAcl(getNetworkAclOptions).execute();\nNetworkACL networkAcl = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getNetworkAcl({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_network_acl(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/networkACLIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a network ACL's name.",
        "operationId": "update_network_acl",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-network-acl"
              },
              "schema": {
                "$ref": "#/components/schemas/NetworkACLPatch"
              }
            }
          },
          "description": "The network ACL patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "action": "allow",
                      "before": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-network-acl-rule"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "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-network-acl-rule",
                      "protocol": "ah",
                      "source": "192.168.3.0/24"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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 updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid network ACL patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The network ACL patch conflicts with another network ACL in the VPC."
          }
        },
        "summary": "Update a network ACL",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.network-acl.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.network-acl.network-acl.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/network_acls/$network_acl_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\":\"my-network-acl-updated\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateNetworkACLOptions{}\noptions.SetID(id)\noptions.SetName(name)\nacl, response, err := vpcService.UpdateNetworkACL(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateNetworkAclOptions updateNetworkAclOptions = new UpdateNetworkAclOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<NetworkACL> response = service.updateNetworkAcl(updateNetworkAclOptions).execute();\nNetworkACL networkAcl = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateNetworkAcl({\n  id,\n  name: 'my-network-acl',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_network_acl(\n    id,\n    name=name,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/network_acls/{network_acl_id}/rules": {
      "get": {
        "description": "This request lists rules for a network ACL. These rules can allow or deny traffic\nbetween a source CIDR block and a destination CIDR block over a particular protocol and port\nrange.",
        "operationId": "list_network_acl_rules",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "description": "Filters the collection to rules with a `direction` property matching the specified\nvalue.",
            "in": "query",
            "name": "direction",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/NetworkACLRuleDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/network_acls/r006-3217cb8b-5368-452a-9399-a84f14fb539d/rules?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "rules": [
                    {
                      "action": "allow",
                      "before": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-network-acl-rule"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "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-network-acl-rule",
                      "protocol": "ah",
                      "source": "192.168.3.0/24"
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkACLRuleCollection"
                }
              }
            },
            "description": "The network ACL rules were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL with the specified identifier could not be found."
          }
        },
        "summary": "List rules for a network ACL",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.rule.read"
            }
          ]
        },
        "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/network_acls/$network_acl_id/rules?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListNetworkACLRulesOptions{}\noptions.SetNetworkACLID(aclID)\nrules, response, err := vpcService.ListNetworkACLRules(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListNetworkAclRulesOptions listNetworkAclRulesOptions = new ListNetworkAclRulesOptions.Builder()\n  .networkAclId(networkAclId)\n  .build();\n\nResponse<NetworkACLRuleCollection> response = service.listNetworkAclRules(listNetworkAclRulesOptions).execute();\nNetworkACLRuleCollection networkAclRuleCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listNetworkAclRules({ id: networkAclId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_network_acl_rules(network_acl_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/networkACLId"
        }
      ],
      "post": {
        "description": "This request creates a new rule from a network ACL rule prototype object. The prototype\nobject is structured in the same way as a retrieved rule, and contains the information\nnecessary to create the new rule.",
        "operationId": "create_network_acl_rule",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "action": "allow",
                "before": {
                  "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9"
                },
                "destination": "192.168.3.2/32",
                "direction": "inbound",
                "ip_version": "ipv4",
                "name": "my-network-acl-rule",
                "protocol": "ah",
                "source": "192.168.3.2/32"
              },
              "schema": {
                "$ref": "#/components/schemas/NetworkACLRulePrototype"
              }
            }
          },
          "description": "The network ACL rule prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "action": "allow",
                  "before": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-network-acl-rule"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "destination": "192.168.3.0/24",
                  "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-network-acl-rule",
                  "protocol": "ah",
                  "source": "192.168.3.0/24"
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkACLRule"
                }
              }
            },
            "description": "The network ACL rule was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid network ACL rule prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The network ACL rule prototype object conflicts with another network ACL rule\nin the network ACL."
          }
        },
        "summary": "Create a rule for a network ACL",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.rule.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.network-acl.network-acl.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/network_acls/$network_acl_id/rules?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"inbound-rule-1\",\n      \"ip_version\": \"ipv4\",\n      \"protocol\": \"icmp\",\n      \"source\": \"0.0.0.0/0\",\n      \"destination\": \"0.0.0.0/0\",\n      \"direction\": \"inbound\",\n      \"action\": \"allow\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateNetworkACLRuleOptions{}\noptions.SetNetworkACLID(aclID)\noptions.SetNetworkACLRulePrototype(&vpcv1.NetworkACLRulePrototype{\n  Action:      core.StringPtr(\"allow\"),\n  Direction:   core.StringPtr(\"inbound\"),\n  Destination: core.StringPtr(\"0.0.0.0/0\"),\n  Source:      core.StringPtr(\"0.0.0.0/0\"),\n  Protocol:    core.StringPtr(\"all\"),\n  Name:        &name,\n})\nrule, response, err := vpcService.CreateNetworkACLRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "NetworkACLRulePrototypeNetworkACLRuleProtocolICMP networkAclRulePrototypeModel = new NetworkACLRulePrototypeNetworkACLRuleProtocolICMP.Builder()\n  .action(\"allow\")\n  .destination(\"192.168.3.2/32\")\n  .direction(\"inbound\")\n  .source(\"192.168.3.2/32\")\n  .protocol(\"tcp\")\n  .name(\"my-network-acl-rule\")\n  .build();\nCreateNetworkAclRuleOptions createNetworkAclRuleOptions = new CreateNetworkAclRuleOptions.Builder()\n  .networkAclId(networkAclId)\n  .networkAclRulePrototype(networkAclRulePrototypeModel)\n  .build();\n\nResponse<NetworkACLRule> response = service.createNetworkAclRule(createNetworkAclRuleOptions).execute();\nNetworkACLRule networkAclRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const networkAclRulePrototypeModel = {\n  name: 'my-network-acl-rule',\n  action: 'allow',\n  destination: '192.168.3.2/32',\n  direction: 'inbound',\n  source: '192.168.3.2/32',\n  protocol: 'tcp',\n  code: 0,\n  type: 8,\n};\n\nconst params = {\n  networkAclId,\n  networkAclRulePrototype: networkAclRulePrototypeModel,\n};\n\nconst response = await vpcService.createNetworkAclRule(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "network_acl_rule_reference_model = {}\nnetwork_acl_rule_reference_model[\n    'id'] = network_acl_rule_id\nnetwork_acl_rule_reference_model['name'] = 'my-rule'\n\nnetwork_acl_rule_prototype_model = {}\nnetwork_acl_rule_prototype_model['action'] = 'allow'\nnetwork_acl_rule_prototype_model[\n    'before'] = network_acl_rule_reference_model\nnetwork_acl_rule_prototype_model['destination'] = '192.168.3.0/24'\nnetwork_acl_rule_prototype_model['direction'] = 'inbound'\nnetwork_acl_rule_prototype_model['href'] = href\nnetwork_acl_rule_prototype_model['id'] = network_acl_rule_id\nnetwork_acl_rule_prototype_model['ip_version'] = 'ipv4'\nnetwork_acl_rule_prototype_model['name'] = 'my-rule-2'\nnetwork_acl_rule_prototype_model['protocol'] = 'icmp'\nnetwork_acl_rule_prototype_model['source'] = '192.168.3.0/24'\nnetwork_acl_rule_prototype_model['code'] = 0\nnetwork_acl_rule_prototype_model['type'] = 8\n\nnetwork_acl_rule_prototype = network_acl_rule_prototype_model\n\nresponse = service.create_network_acl_rule(network_acl_id,\n  network_acl_rule_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/network_acls/{network_acl_id}/rules/{id}": {
      "delete": {
        "description": "This request deletes a rule. This operation cannot be reversed.",
        "operationId": "delete_network_acl_rule",
        "responses": {
          "204": {
            "description": "The network ACL rule was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL rule with the specified identifier could not be found."
          }
        },
        "summary": "Delete a network ACL rule",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.rule.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.network-acl.network-acl.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/network_acls/$network_acl_id/rules/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteNetworkACLRuleOptions{}\noptions.SetID(ruleID)\noptions.SetNetworkACLID(aclID)\nresponse, err := vpcService.DeleteNetworkACLRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteNetworkAclRuleOptions deleteNetworkAclRuleOptions = new DeleteNetworkAclRuleOptions.Builder()\n.networkAclId(networkAclId)\n.id(ruleId)\n.build();\nResponse<Void> response = service.deleteNetworkAclRule(deleteNetworkAclRuleOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteNetworkAclRule({\n  networkAclId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_network_acl_rule(network_acl_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single rule specified by the identifier in the URL.",
        "operationId": "get_network_acl_rule",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action": "allow",
                  "before": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-network-acl-rule"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "destination": "192.168.3.0/24",
                  "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-network-acl-rule",
                  "protocol": "ah",
                  "source": "192.168.3.0/24"
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkACLRule"
                }
              }
            },
            "description": "The network ACL rule was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL rule with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a network ACL rule",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.rule.read"
            }
          ]
        },
        "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/network_acls/$network_acl_id/rules/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetNetworkACLRuleOptions{}\noptions.SetID(ruleID)\noptions.SetNetworkACLID(aclID)\nrule, response, err := vpcService.GetNetworkACLRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetNetworkAclRuleOptions getNetworkAclRuleOptions = new GetNetworkAclRuleOptions.Builder()\n  .networkAclId(networkAclId)\n  .id(id)\n  .build();\n\nResponse<NetworkACLRule> response = service.getNetworkAclRule(getNetworkAclRuleOptions).execute();\nNetworkACLRule networkAclRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getNetworkAclRule({\n  networkAclId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_network_acl_rule(network_acl_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/networkACLId"
        },
        {
          "$ref": "#/components/parameters/ruleIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a rule with the information in a provided rule patch. The rule patch\nobject contains only the information to be updated. The request will fail if the provided\npatch includes properties that are not used by the rule's protocol.",
        "operationId": "update_network_acl_rule",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "action": "allow",
                "before": {
                  "id": "r006-8daca77a-4980-4d33-8f3e-7038797be8f9"
                },
                "code": 1,
                "destination": "192.168.3.2/32",
                "destination_port_max": 22,
                "destination_port_min": 22,
                "direction": "inbound",
                "name": "my-network-acl-rule",
                "source": "192.168.3.2/32",
                "source_port_max": 65535,
                "source_port_min": 49152,
                "type": 8
              },
              "schema": {
                "$ref": "#/components/schemas/NetworkACLRulePatch"
              }
            }
          },
          "description": "The network ACL rule patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action": "allow",
                  "before": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-network-acl-rule"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "destination": "192.168.3.0/24",
                  "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-network-acl-rule",
                  "protocol": "ah",
                  "source": "192.168.3.0/24"
                },
                "schema": {
                  "$ref": "#/components/schemas/NetworkACLRule"
                }
              }
            },
            "description": "The network ACL rule was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid network ACL rule patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A network ACL rule with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The network ACL rule patch conflicts with another rule for the network ACL."
          }
        },
        "summary": "Update a network ACL rule",
        "tags": [
          "Network ACLs"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.network-acl.rule.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.network-acl.network-acl.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/network_acls/$network_acl_id/rules/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"inbound-rule-1-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateNetworkACLRuleOptions{}\noptions.SetID(ruleID)\noptions.SetNetworkACLID(aclID)\noptions.SetName(name)\nrule, response, err := vpcService.UpdateNetworkACLRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateNetworkAclRuleOptions updateNetworkAclRuleOptions = new UpdateNetworkAclRuleOptions.Builder()\n  .networkAclId(networkAclId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<NetworkACLRule> response = service.updateNetworkAclRule(updateNetworkAclRuleOptions).execute();\nNetworkACLRule networkAclRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateNetworkAclRule({\n  networkAclId,\n  id,\n  name: 'my-network-acl-rule',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "network_acl_rule_patch_before_model = {}\nnetwork_acl_rule_patch_before_model['id'] = network_acl_rule_id\n\naction = 'allow'\nbefore = network_acl_rule_patch_before_model\ncode = 0\ndestination = '192.168.3.2/32'\ndestination_port_max = 22\ndestination_port_min = 22\ndirection = 'inbound'\nname = 'my-rule-2'\nsource = '192.168.3.2/32'\nsource_port_max = 65535\nsource_port_min = 49152\ntype = 8\n\nresponse = service.update_network_acl_rule(\n    network_acl_id,\n    id,\n    action=action,\n    before=before,\n    code=code,\n    destination=destination,\n    destination_port_max=destination_port_max,\n    destination_port_min=destination_port_min,\n    direction=direction,\n    name=name,\n    source=source,\n    source_port_max=source_port_max,\n    source_port_min=source_port_min,\n    type=type,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/operating_systems": {
      "get": {
        "description": "This request lists operating systems in the region.",
        "operationId": "list_operating_systems",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "operating_systems": [
                    {
                      "allow_user_image_creation": true,
                      "architecture": "amd64",
                      "dedicated_host_only": true,
                      "display_name": "Ubuntu Server 16.04 LTS amd64",
                      "family": "Ubuntu Server",
                      "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": "16.04 LTS"
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/OperatingSystemCollection"
                }
              }
            },
            "description": "The operating systems were retrieved successfully."
          }
        },
        "summary": "List operating systems",
        "tags": [
          "Images"
        ],
        "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/operating_systems?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListOperatingSystemsOptions{}\noperatingSystems, response, err := vpcService.ListOperatingSystems(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListOperatingSystemsOptions listOperatingSystemsOptions = new ListOperatingSystemsOptions.Builder()\n  .build();\n\nResponse<OperatingSystemCollection> response = service.listOperatingSystems(listOperatingSystemsOptions).execute();\nOperatingSystemCollection operatingSystemCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listOperatingSystems();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_operating_systems()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/start"
        },
        {
          "$ref": "#/components/parameters/limit"
        }
      ]
    },
    "/operating_systems/{name}": {
      "get": {
        "description": "This request retrieves a single operating system specified by the name in the URL.",
        "operationId": "get_operating_system",
        "parameters": [
          {
            "description": "The operating system name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "example": "red-7-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"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_user_image_creation": true,
                  "architecture": "amd64",
                  "dedicated_host_only": true,
                  "display_name": "Ubuntu Server 16.04 LTS amd64",
                  "family": "Ubuntu Server",
                  "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": "16.04 LTS"
                },
                "schema": {
                  "$ref": "#/components/schemas/OperatingSystem"
                }
              }
            },
            "description": "The operating system was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An operating system with the specified name could not be found."
          }
        },
        "summary": "Retrieve an operating system",
        "tags": [
          "Images"
        ],
        "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/operating_systems/$name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetOperatingSystemOptions{}\noptions.SetName(osName)\noperatingSystem, response, err := vpcService.GetOperatingSystem(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetOperatingSystemOptions getOperatingSystemOptions = new GetOperatingSystemOptions.Builder()\n  .name(osName)\n  .build();\n\nResponse<OperatingSystem> response = service.getOperatingSystem(getOperatingSystemOptions).execute();\nOperatingSystem operatingSystem = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getOperatingSystem({ name: osName });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_operating_system(name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/placement_groups": {
      "get": {
        "description": "This request lists placement groups in the region.",
        "operationId": "list_placement_groups",
        "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/placement_groups?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/placement_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "placement_groups": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "deleting",
                      "name": "my-placement-group",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "placement_group",
                      "strategy": "host_spread"
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/PlacementGroupCollection"
                }
              }
            },
            "description": "The placement groups were retrieved successfully."
          }
        },
        "summary": "List placement groups",
        "tags": [
          "Placement groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.placement-group.placement-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.placement-group.placement-group.list"
            },
            {
              "name": "is.placement-group.placement-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/placement_groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListPlacementGroupsOptions{}\nplacementGroups, response, err := vpcService.ListPlacementGroups(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListPlacementGroupsOptions listPlacementGroupsOptions = new ListPlacementGroupsOptions.Builder()\n  .build();\n\nResponse<PlacementGroupCollection> response = service.listPlacementGroups(listPlacementGroupsOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const res = await vpcService.listPlacementGroups();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_placement_groups()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new placement group",
        "operationId": "create_placement_group",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-placement-group",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "strategy": "host_spread"
              },
              "schema": {
                "$ref": "#/components/schemas/PlacementGroupPrototype"
              }
            }
          },
          "description": "The placement group prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-placement-group",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "placement_group",
                  "strategy": "host_spread"
                },
                "schema": {
                  "$ref": "#/components/schemas/PlacementGroup"
                }
              }
            },
            "description": "The placement group was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid placement group prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The placement group prototype object conflicts with another placement group in the\nregion."
          }
        },
        "summary": "Create a placement group",
        "tags": [
          "Placement groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.placement-group.placement-group.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.placement-group.placement-group.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/placement_groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-placement-group\",\n      \"strategy\": \"host_spread\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "name := \"my-placement-group\"\nstrategy := \"host_spread\"\noptions := &vpcv1.CreatePlacementGroupOptions{\n  Strategy: &strategy,\n  Name:     &name,\n}\nplacementGroup, response, err := vpcService.CreatePlacementGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreatePlacementGroupOptions createPlacementGroupOptions = new CreatePlacementGroupOptions.Builder()\n  .strategy(\"host_spread\")\n  .name(\"my-placement-group\")\n  .build();\n\nResponse<PlacementGroup> response = service.createPlacementGroup(createPlacementGroupOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  strategy: 'host_spread',\n  name: 'my-placement-group',\n};\n\nconst res = await vpcService.createPlacementGroup(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.create_placement_group(\n  strategy='host_spread',\n  name='my-placement-group',\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/placement_groups/{id}": {
      "delete": {
        "description": "This request deletes a placement group. This operation cannot be reversed.\nFor this request to succeed, the placement group must not be associated\nwith an instance.",
        "operationId": "delete_placement_group",
        "responses": {
          "202": {
            "description": "The placement group deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A placement group with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The placement group is in use and cannot be deleted."
          }
        },
        "summary": "Delete a placement group",
        "tags": [
          "Placement groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.placement-group.placement-group.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.placement-group.placement-group.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/placement_groups/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deletePlacementGroupOptions := &vpcv1.DeletePlacementGroupOptions{\n  ID: &placementGroupID,\n}\n\nresponse, err := vpcService.DeletePlacementGroup(deletePlacementGroupOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeletePlacementGroupOptions deletePlacementGroupOptions = new DeletePlacementGroupOptions.Builder()\n  .id(placementGroupID)\n  .build();\nResponse<Void> response = service.deletePlacementGroup(deletePlacementGroupOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: placementGroupID,\n};\n\nconst res = await vpcService.deletePlacementGroup(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_placement_group(placementGroupID)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single placement group specified by identifier in the URL.",
        "operationId": "get_placement_group",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-placement-group",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "placement_group",
                  "strategy": "host_spread"
                },
                "schema": {
                  "$ref": "#/components/schemas/PlacementGroup"
                }
              }
            },
            "description": "The placement group was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A placement group with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a placement group",
        "tags": [
          "Placement groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.placement-group.placement-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.placement-group.placement-group.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/placement_groups/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetPlacementGroupOptions{\n  ID: &placementGroupID,\n}\n\nplacementGroup, response, err := vpcService.GetPlacementGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetPlacementGroupOptions getPlacementGroupOptions = new GetPlacementGroupOptions.Builder()\n  .id(placementGroupID)\n  .build();\n\nResponse<PlacementGroup> response = service.getPlacementGroup(getPlacementGroupOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: placementGroupID,\n};\n\nconst res = await vpcService.getPlacementGroup(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_placement_group(placementGroupID)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/placementGroupIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a placement group with the information provided placement group patch.\nThe placement group patch object is structured in the same way as a retrieved placement\ngroup and contains only the information to be updated.",
        "operationId": "update_placement_group",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-placement-group"
              },
              "schema": {
                "$ref": "#/components/schemas/PlacementGroupPatch"
              }
            }
          },
          "description": "The placement group patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-placement-group",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "placement_group",
                  "strategy": "host_spread"
                },
                "schema": {
                  "$ref": "#/components/schemas/PlacementGroup"
                }
              }
            },
            "description": "The placement group was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid placement group patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A placement group with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The placement group patch conflicts with another placement group in the region."
          }
        },
        "summary": "Update a placement group",
        "tags": [
          "Placement groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.placement-group.placement-group.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.placement-group.placement-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/placement_groups/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-placement-group-updated\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "name := \"my-placement-group-updated\"\nplacementGroupPatchModel := &vpcv1.PlacementGroupPatch{\n  Name: &name,\n}\nplacementGroupPatchModelAsPatch, _ := placementGroupPatchModel.AsPatch()\n\noptions := &vpcv1.UpdatePlacementGroupOptions{\n  ID:                  &placementGroupID,\n  PlacementGroupPatch: placementGroupPatchModelAsPatch,\n}\n\nplacementGroup, response, err := vpcService.UpdatePlacementGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "PlacementGroupPatch placementGroupPatchModel = new PlacementGroupPatch.Builder()\n  .name(\"my-placement-group-updated\")\n  .build();\nMap<String, Object> placementGroupPatchModelAsPatch = placementGroupPatchModel.asPatch();\n\nUpdatePlacementGroupOptions updatePlacementGroupOptions = new UpdatePlacementGroupOptions.Builder()\n  .id(placementGroupID)\n  .placementGroupPatch(placementGroupPatchModelAsPatch)\n  .build();\nResponse<PlacementGroup> response = service.updatePlacementGroup(updatePlacementGroupOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: placementGroupID,\n  name: 'my-placement-group-updated',\n};\n\nconst res = await vpcService.updatePlacementGroup(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "placement_group_patch_model = {}\nplacement_group_patch_model['name'] = 'my-placement-group-updated'\n\nresponse = service.update_placement_group(\n  placementGroupID,\n  placement_group_patch=placement_group_patch_model\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways": {
      "get": {
        "description": "This request lists private path service gateways in the region. Private path service\ngateways allow\n[service providers](https://cloud.ibm.com/docs/private-path?topic=private-path-private-path-service-architecture#private-path-service-components)\nto make their services available using\n[private path connectivity](https://cloud.ibm.com/docs/private-path?topic=private-path-private-path-service-architecture#private-path-service-components).\nPrivate path service gateways are used to facilitate and manage the private path\nconnectivity between private path network load balancers and their associated endpoint\ngateways.",
        "operationId": "list_private_path_service_gateways",
        "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/private_path_service_gateways?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/private_path_service_gateways?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "private_path_service_gateways": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                      "default_access_policy": "deny",
                      "endpoint_gateway_binding_auto_delete": true,
                      "endpoint_gateway_binding_auto_delete_timeout": 1,
                      "endpoint_gateway_count": 1,
                      "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": "deleting",
                      "load_balancer": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "my-resource-group"
                      },
                      "resource_type": "private_path_service_gateway",
                      "service_endpoints": [
                        "*.example.com"
                      ],
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": true
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGatewayCollection"
                }
              }
            },
            "description": "The private path service gateways were retrieved successfully."
          }
        },
        "summary": "List private path service gateways",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.read"
            },
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListPrivatePathServiceGatewaysOptions()\nprivatePathServiceGateways, response, err :=\n  vpcService.ListPrivatePathServiceGateways(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListPrivatePathServiceGatewaysOptions listPrivatePathServiceGatewaysOptions = new ListPrivatePathServiceGatewaysOptions.Builder()\n  .build();\n\nResponse<PrivatePathServiceGatewayCollection> response = service.listPrivatePathServiceGateways(listPrivatePathServiceGatewaysOptions).execute();\nPrivatePathServiceGatewayCollection privatePathServiceGatewayCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listPrivatePathServiceGateways();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_private_path_service_gateways()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a private path service gateway from a private path service gateway\nprototype object. The prototype object is structured in the same way as a retrieved private\npath service gateway, and contains the information necessary to create the new private path\nservice gateway.",
        "operationId": "create_private_path_service_gateway",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "default_access_policy": "deny",
                "load_balancer": {
                  "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727"
                },
                "name": "my-private-path-service-gateway",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "service_endpoints": [
                  "*.example.com"
                ],
                "zonal_affinity": true
              },
              "schema": {
                "$ref": "#/components/schemas/PrivatePathServiceGatewayPrototype"
              }
            }
          },
          "description": "The private path service gateway prototype",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                  "default_access_policy": "deny",
                  "endpoint_gateway_binding_auto_delete": true,
                  "endpoint_gateway_binding_auto_delete_timeout": 1,
                  "endpoint_gateway_count": 1,
                  "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": "deleting",
                  "load_balancer": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "private_path_service_gateway",
                  "service_endpoints": [
                    "*.example.com"
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": true
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGateway"
                }
              }
            },
            "description": "The private path service gateway was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid private path service gateway prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The private path service gateway prototype object conflicts with another private path\nservice gateway in the region."
          }
        },
        "summary": "Create a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.create"
            },
            {
              "name": "is.private-path-service-gateway.load-balancer.attach"
            },
            {
              "name": "is.load-balancer.private-path-service-gateway.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.create"
            },
            {
              "name": "is.vpc.vpc.operate"
            },
            {
              "name": "is.load-balancer.load-balancer.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/private_path_service_gateways?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-private-path-service-gateway\",\n      \"service_endpoints\": [\"example.com\"],\n      \"load_balancer\": {\"id\": \"r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727\" }\n   }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreatePrivatePathServiceGatewayOptions{}\noptions.SetName(name)\noptions.SetServiceEndpoints(&[]string{\"example.com\"}[0])\noptions.SetLoadBalancer(&vpcv1.LoadBalancerIdentity{\n  Crn: loadBalancerCrn,\n})\nprivatePathServiceGateway, response, err = vpcService.CreatePrivatePathServiceGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "LoadBalancerIdentityById lbIdentityModel = new LoadBalancerIdentityById.Builder()\n  .id(lbId)\n  .build();\nPrivatePathServiceGatewayPrototype privatePathServiceGatewayPrototypeModel = new PrivatePathServiceGatewayPrototype.Builder()\n  .loadBalancer(lbIdentityModel)\n  .name(\"my-private-path-service-gateway\")\n  .serviceEndpoints(new String[]{\"example.com\"})\n  .build();\nCreatePrivatePathServiceGatewayOptions createPrivatePathServiceGatewayOptions = new CreatePrivatePathServiceGatewayOptions.Builder()\n  .PrivatePathServiceGatewayPrototype(privatePathServiceGatewayPrototypeModel)\n  .build();\n\nResponse<PrivatePathServiceGateway> response = service.createPrivatePathServiceGateway(createPrivatePathServiceGatewayOptions).execute();\nPrivatePathServiceGateway privatePathServiceGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const lbIdentityModel = {\n  id: lbID,\n};\n\nconst privatePathServiceGatewayPrototypeModel = {\n  name: 'my-private-path-service-gateway',\n  load_balancer: lbIdentityModel,\n  service_endpoints: [\"example.com\"],\n};\n\nconst params = {\n  privatePathServiceGatewayPrototype: privatePathServiceGatewayPrototypeModel,\n};\n\nconst response = await vpcService.createPrivatePathServiceGateway(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "load_balancer_identity_model = {}\n\nprivate_path_service_gateway_prototype_model = {}\nprivate_path_service_gateway_prototype_model['load_balancer'] = load_balancer_identity_model\n\nprivate_path_service_gateway_prototype_model['name'] = 'my-private-path-service-gateway'\nprivate_path_service_gateway_prototype_model['service_endpoints'] = [\"example.com\"]\n\nprivate_path_service_gateway_prototype = private_path_service_gateway_prototype_model\nresponse = service.create_private_path_service_gateway(private_path_service_gateway_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{id}": {
      "delete": {
        "description": "This request deletes a private path service gateway.  For this request to succeed, the\nvalue of `endpoint_gateway_count` must be `0`. This operation cannot be reversed.",
        "operationId": "delete_private_path_service_gateway",
        "responses": {
          "204": {
            "description": "The private path service gateway deletion request was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A private path service gateway with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The private path service gateway is in use and cannot be deleted."
          }
        },
        "summary": "Delete a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.delete"
            },
            {
              "name": "is.load-balancer.load-balancer.manage"
            },
            {
              "name": "is.private-path-service-gateway.load-balancer.detach"
            },
            {
              "name": "is.load-balancer.private-path-service-gateway.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/$private_path_service_gateway_id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeletePrivatePathServiceGatewayOptions(id)\nresponse, err := vpcService.DeletePrivatePathServiceGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeletePrivatePathServiceGatewayOptions deletePrivatePathServiceGatewayOptions = new DeletePrivatePathServiceGatewayOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deletePrivatePathServiceGateway(deletePrivatePathServiceGatewayOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deletePrivatePathServiceGateway({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_private_path_service_gateway(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves the private path service gateway specified by\nthe identifier in the URL.",
        "operationId": "get_private_path_service_gateway",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                  "default_access_policy": "deny",
                  "endpoint_gateway_binding_auto_delete": true,
                  "endpoint_gateway_binding_auto_delete_timeout": 1,
                  "endpoint_gateway_count": 1,
                  "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": "deleting",
                  "load_balancer": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "private_path_service_gateway",
                  "service_endpoints": [
                    "*.example.com"
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": true
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGateway"
                }
              }
            },
            "description": "The private path service gateway was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A private path service gateway with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/$private_path_service_gateway_id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetPrivatePathServiceGatewayOptions(id)\nprivatePathServiceGateway, response, err := vpcService.GetPrivatePathServiceGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetPrivatePathServiceGatewayOptions getPrivatePathServiceGatewayOptions = new GetPrivatePathServiceGatewayOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<PrivatePathServiceGateway> response = service.getPrivatePathServiceGateway(getPrivatePathServiceGatewayOptions).execute();\nPrivatePathServiceGateway privatePathServiceGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getPrivatePathServiceGateway({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_private_path_service_gateway(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayIdUnqualifiedId"
        }
      ],
      "patch": {
        "description": "This request updates a private path service gateway with the information provided in\na private path service gateway patch object. The private path service gateway patch object\nis structured in the same way as a retrieved private path service gateway and contains only\nthe information to be updated.",
        "operationId": "update_private_path_service_gateway",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "default_access_policy": "deny",
                "load_balancer": {
                  "id": "r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727"
                },
                "name": "my-private-path-service-gateway",
                "zonal_affinity": true
              },
              "schema": {
                "$ref": "#/components/schemas/PrivatePathServiceGatewayPatch"
              }
            }
          },
          "description": "The private path service gateway patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
                  "default_access_policy": "deny",
                  "endpoint_gateway_binding_auto_delete": true,
                  "endpoint_gateway_binding_auto_delete_timeout": 1,
                  "endpoint_gateway_count": 1,
                  "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": "deleting",
                  "load_balancer": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::load-balancer:r006-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "private_path_service_gateway",
                  "service_endpoints": [
                    "*.example.com"
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": true
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGateway"
                }
              }
            },
            "description": "The private path service gateway was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid private path service gateway patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A private path service gateway with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The private path service gateway patch conflicts with another private path service\ngateway in the region."
          }
        },
        "summary": "Update a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.update"
            },
            {
              "description": "Generated for the outgoing load balancer when `load_balancer` is updated.",
              "name": "is.private-path-service-gateway.load-balancer.detach"
            },
            {
              "description": "Generated for the outgoing load balancer when `load_balancer` is updated.",
              "name": "is.load-balancer.private-path-service-gateway.detach"
            },
            {
              "description": "Generated for the new load balancer when `load_balancer` is updated.",
              "name": "is.private-path-service-gateway.load-balancer.attach"
            },
            {
              "description": "Generated for the new load balancer when `load_balancer` is updated.",
              "name": "is.load-balancer.private-path-service-gateway.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.update"
            },
            {
              "description": "Required when `load_balancer` is updated.",
              "name": "is.load-balancer.load-balancer.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/$private_path_service_gateway_id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\" \\\n  -d '{\n        \"published\": true\n      }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdatePrivatePathServiceGatewayOptions{\n  PrivatePathServiceGatewayID: &id,\n  Name:              &name,\n}\nprivatePathServiceGateway, response, err := vpcService.UpdatePrivatePathServiceGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdatePrivatePathServiceGatewayOptions updatePrivatePathServiceGatewayOptions = new UpdatePrivatePathServiceGatewayOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<PrivatePathServiceGateway> response = service.updatePrivatePathServiceGateway(updatePrivatePathServiceGatewayOptions).execute();\nPrivatePathServiceGateway privatePathServiceGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updatePrivatePathServiceGateway({ id, name: 'my-private-path-service-gateway' });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "name = \"my-private-path-service-gateway\"\nresponse = service.update_private_path_service_gateway(\n    id,\n    name=name,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/account_policies": {
      "get": {
        "description": "This request lists account policies for a private path service gateway. Each policy\ndefines how requests to use the private path service gateway from that account will\nbe handled.\n\nThe account policies will be sorted by their `created_at` property values, with newest\naccount policies first. Account policies with identical `created_at` property values will\nin turn be sorted by ascending `id` property values.",
        "operationId": "list_private_path_service_gateway_account_policies",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/account"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "account_policies": [
                    {
                      "access_policy": "deny",
                      "account": {
                        "id": "bb1b52262f7441a586f49068482f1e60",
                        "resource_type": "account"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "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",
                      "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5",
                      "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGatewayAccountPolicyCollection"
                }
              }
            },
            "description": "The account policies were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified private path service gateway could not be found."
          }
        },
        "summary": "List account policies for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.account-policy.list"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.account-policy.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/account_policies?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListPrivatePathServiceGatewayAccountPoliciesOptions(private_path_service_gateway_id)\naccountPolicies, response, err := vpcService.ListPrivatePathServiceGatewayAccountPolicies(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListPrivatePathServiceGatewayAccountPoliciesOptions listPrivatePathServiceGatewayAccountPoliciesOptions = new ListPrivatePathServiceGatewayAccountPoliciesOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .build();\n\nResponse<PrivatePathServiceGatewayAccountPolicyCollection> response = service.listPrivatePathServiceGatewayAccountPolicies(listAccountPoliciesOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listPrivatePathServiceGatewayAccountPolicies();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = _service.list_private_path_service_gateway_account_policies(private_path_service_gateway_id)\naccount_policies = response.get_result()['account_policies']"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        }
      ],
      "post": {
        "description": "This request creates an account policy from an account policy prototype object. The\nprototype object is structured in the same way as a retrieved account policy, and contains\nthe information necessary to create the new account policy.",
        "operationId": "create_private_path_service_gateway_account_policy",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "access_policy": "deny",
                "account": {
                  "id": "aa2432b1fa4d4ace891e9b80fc104e34"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/PrivatePathServiceGatewayAccountPolicyPrototype"
              }
            }
          },
          "description": "The account policy prototype",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "access_policy": "deny",
                  "account": {
                    "id": "bb1b52262f7441a586f49068482f1e60",
                    "resource_type": "account"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "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",
                  "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5",
                  "resource_type": "private_path_service_gateway_account_policy"
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGatewayAccountPolicy"
                }
              }
            },
            "description": "The account policy for the private path service gateway was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid account policy prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified private path service gateway could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The account policy prototype object conflicts with another account policy\nfor the private path service gateway."
          }
        },
        "summary": "Create an account policy for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.account-policy.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.account-policy.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/account_policies?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"account\": {\"id\": \"aa2432b1fa4d4ace891e9b80fc104e34\"},\n      \"access_policy\": \"permit\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreatePrivatePathServiceGatewayAccountPolicyOptions{}\noptions.SetPrivatePathServiceGatewayID(privatePathServiceGatewayID)\noptions.SetAccount(&vpcv1.AccountIdentity{\n  ID: accountID,\n})\noptions.SetRequestPolicy(requestPolicy)\naccountPolicy, response, err := vpcService.CreatePrivatePathServiceGatewayAccountPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CreatePrivatePathServiceGatewayAccountPolicyOptions createPrivatePathServiceGatewayAccountPolicyOptions = new CreatePrivatePathServiceGatewayAccountPolicyOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .build();\n\nResponse<PrivatePathServiceGatewayAccountPolicy> response = service.createPrivatePathServiceGatewayAccountPolicy(createAccountPolicyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const accountIdentityModel = {\n  id: accountID,\n};\nconst response = await vpcService.createPrivatePathServiceGatewayAccountPolicy({\n  privatePathServiceGatewayId,\n  account: accountIdentityModel,\n  requestPolicy: 'permit',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "account_identity_model = {}\naccount_identity_model['id'] = account_id\nresponse = service.create_private_path_service_gateway_account_policy(\n  private_path_service_gateway_id,\n  account=account_identity_model).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/account_policies/{id}": {
      "delete": {
        "description": "This request deletes an account policy. This operation cannot be reversed and it does not\naffect the `status` of any existing endpoint gateway bindings.",
        "operationId": "delete_private_path_service_gateway_account_policy",
        "responses": {
          "204": {
            "description": "The account policy was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An account policy with the specified identifier could not be found."
          }
        },
        "summary": "Delete an account policy for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.account-policy.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.account-policy.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/account_policies/$id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewDeletePrivatePathServiceGatewayAccountPolicyOptions(private_path_service_gateway_id, id)\nresponse, err := vpcService.DeletePrivatePathServiceGatewayAccountPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeletePrivatePathServiceGatewayAccountPolicyOptions deletePrivatePathServiceGatewayAccountPolicyOptions = new DeletePrivatePathServiceGatewayAccountPolicyOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deletePrivatePathServiceGatewayAccountPolicy(deletePrivatePathServiceGatewayAccountPolicyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deletePrivatePathServiceGatewayAccountPolicy({\n  privatePathServiceGatewayId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_private_path_service_gateway_account_policy(private_path_service_gateway_id, account_policy_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single account policy specified by the identifier in the URL.",
        "operationId": "get_private_path_service_gateway_account_policy",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_policy": "deny",
                  "account": {
                    "id": "bb1b52262f7441a586f49068482f1e60",
                    "resource_type": "account"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "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",
                  "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5",
                  "resource_type": "private_path_service_gateway_account_policy"
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGatewayAccountPolicy"
                }
              }
            },
            "description": "The account policy was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An account policy with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an account policy for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.account-policy.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.account-policy.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/account_policies/$id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetPrivatePathServiceGatewayAccountPolicyOptions(private_path_service_gateway_id, id)\naccountPolicy, response, err := vpcService.GetPrivatePathServiceGatewayAccountPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetPrivatePathServiceGatewayAccountPolicyOptions getAccountPolicyOptions = new GetPrivatePathServiceGatewayAccountPolicyOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .id(id)\n  .build();\n\nResponse<PrivatePathServiceGatewayAccountPolicy> response = service.getPrivatePathServiceGatewayAccountPolicy(getAccountPolicyOptions).execute();\nPrivatePathServiceGatewayAccountPolicy accountPolicy = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getPrivatePathServiceGatewayAccountPolicy({\n  privatePathServiceGatewayId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_private_path_service_gateway_account_policy(private_path_service_gateway_id, account_policy_id)\nif response.status_code == 200:\n    account_policy = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayAccountPolicyUnqualifiedId"
        }
      ],
      "patch": {
        "description": "This request updates an account policy with the information in a provided account policy\npatch. The account policy patch object is structured in the same way as a retrieved\naccount policy and contains only the information to be updated.",
        "operationId": "update_private_path_service_gateway_account_policy",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "access_policy": "deny"
              },
              "schema": {
                "$ref": "#/components/schemas/PrivatePathServiceGatewayAccountPolicyPatch"
              }
            }
          },
          "description": "The account policy patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_policy": "deny",
                  "account": {
                    "id": "bb1b52262f7441a586f49068482f1e60",
                    "resource_type": "account"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "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",
                  "id": "r006-7268d425-59b7-48fd-9735-81a7271657d5",
                  "resource_type": "private_path_service_gateway_account_policy"
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGatewayAccountPolicy"
                }
              }
            },
            "description": "The account policy was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid account policy patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An account policy with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The account policy patch conflicts with another account policy for the private\npath service gateway."
          }
        },
        "summary": "Update an account policy for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.account-policy.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.account-policy.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/account_policies/$id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\" \\\n  -d '{\n        \"access_policy\": \"permit\"\n      }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdatePrivatePathServiceGatewayAccountPolicyOptions{\n  PrivatePathServiceGatewayID: &private_path_service_gateway_id,\n  AccountPolicyID: &id,\n  RequestPolicy: &policy,\n}\naccountPolicy, response, err := vpcService.UpdatePrivatePathServiceGatewayAccountPolicy(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdatePrivatePathServiceGatewayAccountPolicyOptions updatePrivatePathServiceGatewayAccountPolicyOptions = new UpdatePrivatePathServiceGatewayAccountPolicyOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .id(id)\n  .access_policy(\"permit\")\n  .build();\n\nResponse<PrivatePathServiceGatewayAccountPolicy> response = service.updatePrivatePathServiceGatewayAccountPolicy(updateAccountPolicyOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updatePrivatePathServiceGatewayAccountPolicy({\n  privatePathServiceGatewayId,\n  id,\n  access_policy: 'permit',\n  });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "policy = 'deny'\nresponse = service.update_private_path_service_gateway_account_policy(\n    private_path_service_gateway_id, account_policy_id, access_policy=policy)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings": {
      "get": {
        "description": "This request lists endpoint gateway bindings for a private path service gateway. Each\nendpoint gateway binding is implicitly created when an endpoint gateway is created\ntargeting the private path service gateway. The associated account policy is applied to\nall new endpoint gateway bindings. If an associated account policy doesn't\nexist, the private path service gateway's `default_access_policy` is used.\n\nThe endpoint gateway bindings will be sorted by their `created_at` property values, with\nnewest endpoint gateway bindings first. Endpoint gateway bindings with identical\n`created_at` property values will in turn be sorted by ascending `name` property values.",
        "operationId": "list_private_path_service_gateway_endpoint_gateway_bindings",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/privatePathServiceGatewayEndpointGatewayBindingStatus"
          },
          {
            "$ref": "#/components/parameters/account"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "endpoint_gateway_bindings": [
                    {
                      "account": {
                        "id": "bb1b52262f7441a586f49068482f1e60",
                        "resource_type": "account"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "expiration_at": "2026-01-02T03:04:05.006Z",
                      "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": "deleting",
                      "resource_type": "private_path_service_gateway_endpoint_gateway_binding",
                      "status": "abandoned"
                    }
                  ],
                  "first": {
                    "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": 20,
                  "next": {
                    "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGatewayEndpointGatewayBindingCollection"
                }
              }
            },
            "description": "The endpoint gateway bindings were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified private path service gateway could not be found."
          }
        },
        "summary": "List endpoint gateway bindings for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.list"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.list"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/$private_path_service_gateway_id/endpoint_gateway_bindings?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewListPrivatePathServiceGatewayEndpointGatewayBindingsOptions(private_path_service_gateway_id)\nendpointGatewayBindings, response, err := vpcService.ListPrivatePathServiceGatewayEndpointGatewayBindings(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions listPrivatePathServiceGatewayEndpointGatewayBindingsOptions = new ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .build();\n\nResponse<PrivatePathServiceGatewayEndpointGatewayBindingPaginatedCollection> response = service.listPrivatePathServiceGatewayEndpointGatewayBindings(listPrivatePathServiceGatewayEndpointGatewayBindingsOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listPrivatePathServiceGatewayEndpointGatewayBindings();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = _service.list_private_path_service_gateway_endpoint_gateway_bindings(private_path_service_gateway_id)\nendpoint_gateway_bindings = response.get_result()['endpoint_gateway_bindings']"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        }
      ]
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/{id}": {
      "get": {
        "description": "This request retrieves a single endpoint gateway binding specified by the identifier in the\nURL.",
        "operationId": "get_private_path_service_gateway_endpoint_gateway_binding",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "account": {
                    "id": "bb1b52262f7441a586f49068482f1e60",
                    "resource_type": "account"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "expiration_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "resource_type": "private_path_service_gateway_endpoint_gateway_binding",
                  "status": "abandoned"
                },
                "schema": {
                  "$ref": "#/components/schemas/PrivatePathServiceGatewayEndpointGatewayBinding"
                }
              }
            },
            "description": "The endpoint gateway binding was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway binding with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve an endpoint gateway binding for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/$private_path_service_gateway_id/endpoint_gateway_bindings/$endpoint_gateway_binding_id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := vpcService.NewGetPrivatePathServiceGatewayEndpointGatewayBindingOptions(private_path_service_gateway_id, id)\nendpointGatewayBinding, response, err := vpcService.GetPrivatePathServiceGatewayEndpointGatewayBinding(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetPrivatePathServiceGatewayEndpointGatewayBindingOptions getPrivatePathServiceGatewayEndpointGatewayBindingOptions = new GetPrivatePathServiceGatewayEndpointGatewayBindingOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .id(id)\n  .build();\n\nResponse<PrivatePathServiceGatewayEndpointGatewayBinding> response = service.getPrivatePathServiceGatewayEndpointGatewayBinding(getPrivatePathServiceGatewayEndpointGatewayBindingOptions).execute();\nPrivatePathServiceGatewayEndpointGatewayBinding privatePathServiceGatewayEndpointGatewayBinding = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getPrivatePathServiceGatewayEndpointGatewayBinding({\n  privatePathServiceGatewayId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_private_path_service_gateway_endpoint_gateway_binding(private_path_service_gateway_id, endpoint_gateway_binding_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayEndpointGatewayBindingUnqualifiedId"
        }
      ]
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/{id}/deny": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayEndpointGatewayBindingUnqualifiedId"
        }
      ],
      "post": {
        "description": "This request denies a `pending` endpoint gateway request, and optionally sets the policy\nto deny future requests from the same account.",
        "operationId": "deny_private_path_service_gateway_endpoint_gateway_binding",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "set_account_policy": true
              },
              "schema": {
                "$ref": "#/components/schemas/PrivatePathServiceGatewayEndpointGatewayBindingDenyOptions"
              }
            }
          },
          "description": "Options to control the deny operation.",
          "required": false
        },
        "responses": {
          "204": {
            "description": "The private path service gateway endpoint gateway binding was denied"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid options object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway binding with the specified identifier could not be found."
          }
        },
        "summary": "Deny an endpoint gateway binding for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.deny"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/$id/deny?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d ''"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions(private_path_service_gateway_id, id)\noptions.SetSetAccountPolicy(true)\nresponse, err = vpcService.DenyPrivatePathServiceGatewayEndpointGatewayBinding(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions denyPrivatePathServiceGatewayEndpointGatewayBindingOptions = new DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .setAccountPolicy(true)\n  .build();\n\nResponse<Void> response = service.denyPrivatePathServiceGatewayEndpointGatewayBinding(denyPrivatePathServiceGatewayEndpointGatewayBindingOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  setAccountPolicy: true,\n};\n\nconst response = await vpcService.denyPrivatePathServiceGatewayEndpointGatewayBinding(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.deny_private_path_service_endpoint_gateway_binding(\n    private_path_service_gateway_id, set_account_policy=true)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/{id}/permit": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayEndpointGatewayBindingUnqualifiedId"
        }
      ],
      "post": {
        "description": "This request permits a `pending` endpoint gateway request, and optionally sets the policy\nto permit future requests from the same account.",
        "operationId": "permit_private_path_service_gateway_endpoint_gateway_binding",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "set_account_policy": true
              },
              "schema": {
                "$ref": "#/components/schemas/PrivatePathServiceGatewayEndpointGatewayBindingPermitOptions"
              }
            }
          },
          "description": "Options to control the permit operation.",
          "required": false
        },
        "responses": {
          "204": {
            "description": "The endpoint gateway binding for the private path service gateway was permitted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid options object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An endpoint gateway binding with the specified identifier could not be found."
          }
        },
        "summary": "Permit an endpoint gateway binding for a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.permit"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/$id/permit?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d ''"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions(private_path_service_gateway_id, id)\noptions.SetSetAccountPolicy(true)\nresponse, err = vpcService.PermitPrivatePathServiceGatewayEndpointGatewayBinding(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions permitPrivatePathServiceGatewayEndpointGatewayBindingOptions = new PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .setAccountPolicy(true)\n  .build();\n\nResponse<Void> response = service.permitPrivatePathServiceGatewayEndpointGatewayBinding(permitEndpointGatewayBindingOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  setAccountPolicy: true,\n};\n\nconst response = await vpcService.permitPrivatePathServiceGatewayEndpointGatewayBinding(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.permit_private_path_service_endpoint_gateway_binding(\n    private_path_service_gateway_id, set_account_policy=true)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/publish": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        }
      ],
      "post": {
        "description": "This request publishes a private path service gateway, allowing any account to request\naccess to it.",
        "operationId": "publish_private_path_service_gateway",
        "responses": {
          "204": {
            "description": "The private path service gateway was published successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A private path service gateway with the specified identifier could not be found"
          }
        },
        "summary": "Publish a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.update"
            },
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.publish"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.update"
            },
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.publish"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/$private_path_service_gateway_id/publish?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\" \\\n  -d ''"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.PublishPrivatePathServiceGatewayOptions{}\nprivatePathServiceGateway, response, err = vpcService.PublishPrivatePathServiceGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "PublishPrivatePathServiceGatewayOptions publishPrivatePathServiceGatewayOptions = new PublishPrivatePathServiceGatewayOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .build();\n\nservice.publishPrivatePathServiceGateway(publishPrivatePathServiceGatewayOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.publishPrivatePathServiceGateway({\n  privatePathServiceGatewayId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "service.publish_private_path_service_gateway(\n  private_path_service_gateway_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/revoke_account": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        }
      ],
      "post": {
        "description": "This request revokes a consumer account. This operation cannot be reversed. The `status` of\nall endpoint gateway bindings associated with the specified private path service gateway\nbecome `denied`. If the specified account has an existing access policy, that policy will be\nupdated to `denied`. Otherwise, a new `deny` access policy will be created for the account.",
        "operationId": "revoke_account_for_private_path_service_gateway",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "account": {
                  "id": "aa2432b1fa4d4ace891e9b80fc104e34"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/PrivatePathServiceGatewayRevokeAccountOptions"
              }
            }
          },
          "description": "Options to control the revoke operation.",
          "required": true
        },
        "responses": {
          "204": {
            "description": "The account's access to the private path service gateway was revoked successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid options object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A private path service gateway with the specified identifier could not be found"
          }
        },
        "summary": "Revoke access to a private path service gateway for an account",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.revoke-account"
            },
            {
              "description": "Generated for each associated endpoint gateway binding",
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.deny"
            },
            {
              "description": "Generated when an account has an existing access policy",
              "name": "is.private-path-service-gateway.account-policy.update"
            },
            {
              "description": "Generated when an does not have an existing access policy",
              "name": "is.private-path-service-gateway.account-policy.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.account-policy.manage"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/private_path_service_gateways/{private_path_service_gateway_id}/revoke_account?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"account\": {\"id\": \"aa2432b1fa4d4ace891e9b80fc104e34\"}}'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.RevokeAccountForPrivatePathServiceGatewayOptions(private_path_service_gateway_id)\noptions.SetAccount(&vpcv1.AccountIdentity{\n  ID: &accountID,\n})\nresponse, err = vpcService.RevokeAccountForPrivatePathServiceGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "AccountIdentityById accountIdentityModel = new AccountIdentityById.Builder()\n  .id(lbId)\n  .build();\nRevokeAccountForPrivatePathServiceGatewayOptions revokeAccountForPrivatePathServiceGatewayOptions = new RevokeAccountForPrivatePathServiceGatewayOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .account(accountIdentityModel)\n  .requestPolicy(\"permit\")\n  .build();\n\nResponse<Void> response = service.revokeAccountForPrivatePathServiceGateway(revokeAccountForPrivatePathServiceGatewayOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const accountIdentityModel = {\n  id: accountID,\n};\nconst params = {\n  account: accountIdentityModel,\n};\n\nconst response = await vpcService.revokeAccountForPrivatePathServiceGateway(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "account_identity_model = {}\naccount_identity_model[\n    'id'] = account_id\nresponse = service.revoke_account_for_private_path_service_gateway(\n    private_path_service_gateway_id, account=account_identity_model)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/private_path_service_gateways/{private_path_service_gateway_id}/unpublish": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/privatePathServiceGatewayId"
        }
      ],
      "post": {
        "description": "This request unpublishes a private path service gateway. For this request to succeed, any\nexisting access from other accounts must first be revoked. Once unpublished, access will\nagain be restricted to the account that created this private path service gateway.",
        "operationId": "unpublish_private_path_service_gateway",
        "responses": {
          "204": {
            "description": "The private path service gateway was unpublished successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A private path service gateway with the specified identifier could not be found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The private path service gateway allows access from other accounts."
          }
        },
        "summary": "Unpublish a private path service gateway",
        "tags": [
          "Private path service gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.update"
            },
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.unpublish"
            },
            {
              "name": "is.private-path-service-gateway.endpoint-gateway-binding.deny"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.update"
            },
            {
              "name": "is.private-path-service-gateway.private-path-service-gateway.unpublish"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/private_path_service_gateways/$private_path_service_gateway_id/unpublish?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\" \\\n  -d ''"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UnpublishPrivatePathServiceGatewayOptions{}\nprivatePathServiceGateway, response, err = vpcService.UnpublishPrivatePathServiceGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UnpublishPrivatePathServiceGatewayOptions unPublishPrivatePathServiceGatewayOptions = new UnpublishPrivatePathServiceGatewayOptions.Builder()\n  .privatePathServiceGatewayId(privatePathServiceGatewayId)\n  .build();\n\nservice.unPublishPrivatePathServiceGateway(unPublishPrivatePathServiceGatewayOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.unPublishPrivatePathServiceGateway({\n  privatePathServiceGatewayId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "service.unpublish_private_path_service_gateway(\n  private_path_service_gateway_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/public_address_ranges": {
      "get": {
        "description": "This request lists [public address\nranges](https://cloud.ibm.com/docs/vpc?topic=vpc-about-par) in the region. A public\naddress range is a contiguous block of public IP addresses that can be bound to a `target`\nthat specifies a `vpc` and a `zone`. Incoming traffic for these IP addresses will be\nrouted according to the VPC's ingress routing table.\n\nThe public address ranges will be sorted by their `created_at` property values, with newest\npublic address ranges first. Public address ranges with identical `created_at` property\nvalues will in turn be sorted by ascending `id` property values.",
        "operationId": "list_public_address_ranges",
        "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/public_address_ranges?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/public_address_ranges?start=ffd653466e284937896724b2dd044c9c&limit=20"
                  },
                  "public_address_ranges": [
                    {
                      "cidr": "192.168.3.0/24",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "deleting",
                      "name": "my-public-address-range",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "public_address_range",
                      "target": {
                        "vpc": {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/PublicAddressRangeCollection"
                }
              }
            },
            "description": "The public address ranges were retrieved successfully."
          }
        },
        "summary": "List public address ranges",
        "tags": [
          "Public address ranges"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-address-range.public-address-range.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-address-range.public-address-range.list"
            },
            {
              "name": "is.public-address-range.public-address-range.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/public_address_ranges?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListPublicAddressRangesOptions{}\npublicAddressRanges, response, err := vpcService.ListPublicAddressRanges(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListPublicAddressRangesOptions listPublicAddressRangesOptions = new ListPublicAddressRangesOptions.Builder()\n  .build();\nResponse<PublicAddressRangeCollection> response = service.listPublicAddressRanges(listPublicAddressRangesOptions).execute();\nPublicAddressRangeCollection publicAddressRangeCollectionResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listPublicAddressRanges();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.list_public_address_ranges()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new public address range from a public address range prototype\nobject. The prototype object is structured in the same way as a retrieved public address\nrange, and contains the information necessary to create the new public address range.",
        "operationId": "create_public_address_range",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ipv4_address_count": 8,
                "name": "my-public-address-range",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "target": {
                  "vpc": {
                    "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                  },
                  "zone": {
                    "name": "us-south-1"
                  }
                }
              },
              "schema": {
                "$ref": "#/components/schemas/PublicAddressRangePrototype"
              }
            }
          },
          "description": "The public address range prototype",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "cidr": "192.168.3.0/24",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-public-address-range",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "public_address_range",
                  "target": {
                    "vpc": {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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/PublicAddressRange"
                }
              }
            },
            "description": "The public address range was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid public address range prototype object was provided or the specified `target`\ncould not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The public address range prototype object conflicts with another public address range\nin the region."
          }
        },
        "summary": "Create a public address range",
        "tags": [
          "Public address ranges"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-address-range.public-address-range.create"
            },
            {
              "description": "If `target` is specified, generated for the public address range.",
              "name": "is.public-address-range.public-address-range.attach"
            },
            {
              "description": "If `target` is specified, generated for the `target.vpc`.",
              "name": "is.vpc.vpc.attach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-address-range.public-address-range.create"
            },
            {
              "description": "If `target` is specified, required for the `target.vpc`.",
              "name": "is.vpc.vpc.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  \"$vpc_api_endpoint/v1/public_address_ranges?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\" \\\n  -d '{\n        \"ipv4_address_count\": 8,\n        \"name\": \"my-public-address-range\",\n        \"target\": {\n          \"vpc\": {\n            \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n          },\n          \"zone\": {\n            \"name\": \"us-south-1\"\n          }\n        }\n      }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "resourceGroupIdentityModel := &vpcv1.ResourceGroupIdentityByID{\n  ID: resourceGroupID,\n}\nvpcIdentityModel := &vpcv1.VPCIdentityByID{\n  ID: &vpcID,\n}\nzoneIdentityModel := &vpcv1.ZoneIdentityByName{\n  Name: &zoneName,\n}\npublicAddressRangeTargetPrototypeModel := &vpcv1.PublicAddressRangeTargetPrototype{\n  VPC: vpcIdentityModel,\n  Zone: zoneIdentityModel,\n}\noptions := &vpcv1.CreatePublicAddressRangeOptions{\n  Ipv4AddressCount: core.Int64Ptr(int64(8)),\n  Name: core.StringPtr(\"my-public-address-range\"),\n  ResourceGroup: resourceGroupIdentityModel,\n  Target: publicAddressRangeTargetPrototypeModel,\n}\npublicAddressRange, response, err := vpcService.CreatePublicAddressRange(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ResourceGroupIdentityById resourceGroupIdentityModel = new ResourceGroupIdentityById.Builder()\n  .id(resourceGroupID)\n  .build();\nVPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n  .name(zoneName)\n  .build();\nPublicAddressRangeTargetPrototype publicAddressRangeTargetPrototypeModel = new PublicAddressRangeTargetPrototype.Builder()\n  .vpc(vpcIdentityModel)\n  .zone(zoneIdentityModel)\n  .build();\nCreatePublicAddressRangeOptions createPublicAddressRangeOptions = new CreatePublicAddressRangeOptions.Builder()\n  .ipv4AddressCount(Long.valueOf(\"8\"))\n  .name(\"my-public-address-range\")\n  .resourceGroup(resourceGroupIdentityModel)\n  .target(publicAddressRangeTargetPrototypeModel)\n  .build();\nResponse<PublicAddressRange> response = service.createPublicAddressRange(createPublicAddressRangeOptions).execute();\nPublicAddressRange publicAddressRangeResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const resourceGroupIdentityModel = {\n  id: resourceGroupID,\n};\nconst vpcIdentityModel = {\n  id: vpcID,\n};\nconst zoneIdentityModel = {\n  name: zoneName,\n};\nconst publicAddressRangeTargetPrototypeModel = {\n  vpc: vpcIdentityModel,\n  zone: zoneIdentityModel,\n};\nconst params = {\n  ipv4AddressCount: 8,\n  name: 'my-public-address-range',\n  resourceGroup: resourceGroupIdentityModel,\n  target: publicAddressRangeTargetPrototypeModel,\n};\nconst response = await vpcService.createPublicAddressRange(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "resource_group_identity_model = {\n  'id': resource_group_id,\n}\nvpc_identity_model = {\n  'id': vpc_id,\n}\nzone_identity_model = {\n  'name': zoneName,\n}\npublic_address_range_target_prototype_model = {\n  'vpc': vpc_identity_model,\n  'zone': zone_identity_model,\n}\nresponse = vpc_service.create_public_address_range(\n  ipv4_address_count=8,\n  name='my-public-address-range',\n  resource_group=resource_group_identity_model,\n  target=public_address_range_target_prototype_model,\n)\npublic_address_range = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/public_address_ranges/{id}": {
      "delete": {
        "description": "This request deletes a public address range. If the public address range is bound to a\n`target`, it will be unbound. This operation cannot be reversed.",
        "operationId": "delete_public_address_range",
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "cidr": "192.168.3.0/24",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-public-address-range",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "public_address_range",
                  "target": {
                    "vpc": {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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/PublicAddressRange"
                }
              }
            },
            "description": "The public address range deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A public address range with the specified identifier could not be found."
          }
        },
        "summary": "Delete a public address range",
        "tags": [
          "Public address ranges"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-address-range.public-address-range.delete"
            },
            {
              "description": "If `target` is set, generated for the public address range.",
              "name": "is.public-address-range.public-address-range.detach"
            },
            {
              "description": "If `target` is set, generated for the `target.vpc`.",
              "name": "is.vpc.vpc.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-address-range.public-address-range.delete"
            },
            {
              "description": "If `target` is set, required for the `target.vpc`.",
              "name": "is.vpc.vpc.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  \"$vpc_api_endpoint/v1/public_address_ranges/$public_address_range_id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeletePublicAddressRangeOptions{\n  ID: &publicAddressRangeID,\n}\nresponse, err := vpcService.DeletePublicAddressRange(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeletePublicAddressRangeOptions deletePublicAddressRangeOptions = new DeletePublicAddressRangeOptions.Builder()\n  .id(publicAddressRangeID)\n  .build();\nResponse<PublicAddressRange> response = service.deletePublicAddressRange(deletePublicAddressRangeOptions).execute();\nPublicAddressRange publicAddressRangeResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deletePublicAddressRange({ id: publicAddressRangeID });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.delete_public_address_range(public_address_range_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single public address range specified by the\nidentifier in the URL.",
        "operationId": "get_public_address_range",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "cidr": "192.168.3.0/24",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-public-address-range",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "public_address_range",
                  "target": {
                    "vpc": {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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/PublicAddressRange"
                }
              }
            },
            "description": "The public address range was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A public address range with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a public address range",
        "tags": [
          "Public address ranges"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-address-range.public-address-range.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-address-range.public-address-range.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  \"$vpc_api_endpoint/v1/public_address_ranges/$public_address_range_id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetPublicAddressRangeOptions{\n  ID: &publicAddressRangeID,\n}\npublicAddressRange, response, err := vpcService.GetPublicAddressRange(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetPublicAddressRangeOptions getPublicAddressRangeOptions = new GetPublicAddressRangeOptions.Builder()\n  .id(publicAddressRangeID)\n  .build();\nResponse<PublicAddressRange> response = service.getPublicAddressRange(getPublicAddressRangeOptions).execute();\nPublicAddressRange publicAddressRangeResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getPublicAddressRange({ id: publicAddressRangeID });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.get_public_address_range(public_address_range_id)\npublic_address_range = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/publicAddressRangeIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a public address range with the information in a provided public\naddress range patch. The public address range patch object is structured in the same way\nas a retrieved public address range and contains only the information to be updated.",
        "operationId": "update_public_address_range",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-public-address-range-updated",
                "target": {
                  "vpc": {
                    "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                  },
                  "zone": {
                    "name": "us-south-1"
                  }
                }
              },
              "schema": {
                "$ref": "#/components/schemas/PublicAddressRangePatch"
              }
            }
          },
          "description": "The public address range patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "cidr": "192.168.3.0/24",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-public-address-range",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "public_address_range",
                  "target": {
                    "vpc": {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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/PublicAddressRange"
                }
              }
            },
            "description": "The public address range was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid public address range patch was provided, or the public address range\nis being deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A public address range with the specified identifier could not be found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The public address range patch conflicts with another public address range\nin the region."
          }
        },
        "summary": "Update a public address range",
        "tags": [
          "Public address ranges"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-address-range.public-address-range.update"
            },
            {
              "description": "If `target` is added or updated, generated for the public address range.",
              "name": "is.public-address-range.public-address-range.attach"
            },
            {
              "description": "If `target` is updated or removed, generated for the public address range.",
              "name": "is.public-address-range.public-address-range.detach"
            },
            {
              "description": "If `target` is added or updated, generated for the new `target.vpc`.",
              "name": "is.vpc.vpc.attach"
            },
            {
              "description": "If `target` is updated or removed, generated for the old `target.vpc`.",
              "name": "is.vpc.vpc.detach"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-address-range.public-address-range.update"
            },
            {
              "description": "If `target` is updated or removed, required for the old `target.vpc`.\nIf `target` is added or updated, required for the new `target.vpc`.",
              "name": "is.vpc.vpc.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  \"$vpc_api_endpoint/v1/public_address_ranges/$public_address_range_id?version=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\" \\\n  -d '{\n        \"name\": \"my-public-address-range-updated\",\n        \"target\": {\n          \"vpc\": {\n            \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n          },\n          \"zone\": {\n            \"name\": \"us-south-1\"\n          }\n        }\n      }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "vpcIdentityModel := &vpcv1.VPCIdentityByID{\n  ID: &vpcID,\n}\nzoneIdentityModel := &vpcv1.ZoneIdentityByName{\n  Name: &zoneName,\n}\npublicAddressRangeTargetPatchModel := &vpcv1.PublicAddressRangeTargetPatch{\n  VPC: vpcIdentityModel,\n  Zone: zoneIdentityModel,\n}\npublicAddressRangePatchModel := &vpcv1.PublicAddressRangePatch{\n  Name: core.StringPtr(\"my-public-address-range-updated\"),\n  Target: publicAddressRangeTargetPatchModel,\n}\npublicAddressRangePatch, asPatchErr := publicAddressRangePatchModel.AsPatch()\noptions := &vpcv1.UpdatePublicAddressRangeOptions{\n  ID: &publicAddressRangeID,\n  PublicAddressRangePatch: publicAddressRangePatch,\n}\npublicAddressRange, response, err := vpcService.UpdatePublicAddressRange(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();\nPublicAddressRangeTargetPatch publicAddressRangeTargetPatchModel = new PublicAddressRangeTargetPatch.Builder()\n  .vpc(vpcIdentityModel)\n  .zone(zoneIdentityModel)\n  .build();\nPublicAddressRangePatch publicAddressRangePatchModel = new PublicAddressRangePatch.Builder()\n  .name(\"my-public-address-range-updated\")\n  .target(publicAddressRangeTargetPatchModel)\n  .build();\nMap<String, Object> publicAddressRangePatchModelAsPatch = publicAddressRangePatchModel.asPatch();\nUpdatePublicAddressRangeOptions updatePublicAddressRangeOptions = new UpdatePublicAddressRangeOptions.Builder()\n  .id(publicAddressRangeID)\n  .publicAddressRangePatch(publicAddressRangePatchModelAsPatch)\n  .build();\nResponse<PublicAddressRange> response = service.updatePublicAddressRange(updatePublicAddressRangeOptions).execute();\nPublicAddressRange publicAddressRangeResult = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const vpcIdentityModel = {\n  id: vpcID,\n};\nconst zoneIdentityModel = {\n  id: zoneName,\n};\nconst publicAddressRangeTargetPatchModel = {\n  vpc: vpcIdentityModel,\n  zone: zoneIdentityModel,\n};\nconst params = {\n  id: publicAddressRangeID,\n  name: 'my-public-address-range-updated',\n  target: publicAddressRangeTargetPatchModel,\n};\nconst response = await vpcService.updatePublicAddressRange(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "vpc_identity_model = {\n  'id': vpc_id,\n}\n\nzone_identity_model = {\n  'name': zoneName,\n}\n\npublic_address_range_target_patch_model = {\n  'vpc': vpc_identity_model,\n  'zone': zone_identity_model,\n}\n\npublic_address_range_patch = {\n  'name': 'my-public-address-range-updated',\n  'target': public_address_range_target_patch_model,\n}\nresponse = vpc_service.update_public_address_range(\n    public_address_range_id, public_address_range_patch=public_address_range_patch)\npublic_address_range = response.get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/public_gateways": {
      "get": {
        "description": "This request lists public gateways in the region. A public gateway is a virtual network\ndevice associated with a VPC, which allows access to the Internet. A public gateway resides\nin a zone and can be connected to subnets in the same zone only.",
        "operationId": "list_public_gateways",
        "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/public_gateways?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/public_gateways?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "public_gateways": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "my-resource-group"
                      },
                      "resource_type": "public_gateway",
                      "status": "available",
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/PublicGatewayCollection"
                }
              }
            },
            "description": "The public gateways were retrieved successfully."
          }
        },
        "summary": "List public gateways",
        "tags": [
          "Public gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-gateway.public-gateway.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-gateway.public-gateway.list"
            },
            {
              "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/public_gateways?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListPublicGatewaysOptions{}\npublicGateways, response, err := vpcService.ListPublicGateways(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListPublicGatewaysOptions listPublicGatewaysOptions = new ListPublicGatewaysOptions.Builder()\n  .build();\n\nResponse<PublicGatewayCollection> response = service.listPublicGateways(listPublicGatewaysOptions).execute();\nPublicGatewayCollection publicGatewayCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listPublicGateways();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_public_gateways()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new public gateway from a public gateway prototype object. For\nthis to succeed, the VPC must not already have a public gateway in the specified zone.\n\nIf a floating IP is provided, it must be unbound. If a floating IP is not provided,\none will be created and bound to the public gateway. Once a public gateway has been\ncreated, its floating IP cannot be unbound. A public gateway must be explicitly\nattached to each subnet it will provide connectivity for.",
        "operationId": "create_public_gateway",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "floating_ip": {
                  "id": "r006-f45e0d90-12a8-4460-8210-290ff2ab75cd"
                },
                "name": "my-public-gateway",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/PublicGatewayPrototype"
              }
            }
          },
          "description": "The public gateway prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "public_gateway",
                  "status": "available",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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 created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid public gateway prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The public gateway prototype object conflicts with another public gateway in the VPC."
          }
        },
        "summary": "Create a public gateway",
        "tags": [
          "Public gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-gateway.public-gateway.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-gateway.public-gateway.create"
            },
            {
              "name": "is.vpc.vpc.operate"
            },
            {
              "description": "Required when `floating_ip` specifies a new floating IP",
              "name": "is.floating-ip.floating-ip.create"
            },
            {
              "description": "Required when `floating_ip` specifies an existing floating IP",
              "name": "is.floating-ip.floating-ip.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/public_gateways?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-public-gateway\",\n      \"vpc\": {\n        \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n      },\n      \"zone\": {\n        \"name\": \"us-south-1\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreatePublicGatewayOptions{}\noptions.SetVpc(&vpcv1.VPCIdentity{\n  ID: &vpcID,\n})\noptions.SetZone(&vpcv1.ZoneIdentity{\n  Name: &zoneName,\n})\npublicGateway, response, err := vpcService.CreatePublicGateway(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();\nCreatePublicGatewayOptions createPublicGatewayOptions = new CreatePublicGatewayOptions.Builder()\n  .vpc(vpcIdentityModel)\n  .zone(zoneIdentityModel)\n  .name(\"my-public-gateway\")\n  .build();\n\nResponse<PublicGateway> response = service.createPublicGateway(createPublicGatewayOptions).execute();\nPublicGateway publicGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  vpc: { id: vpcID },\n  zone: { name: zoneName },\n};\nconst response = await vpcService.createPublicGateway(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "vpc_identity_model = {}\nvpc_identity_model['id'] = vpc_id\n\nzone_identity_model = {}\nzone_identity_model['name'] = zone_name\n\npublic_gateway_prototype_floating_ip_model = {}\npublic_gateway_prototype_floating_ip_model['id'] = floating_ip_id\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nvpc = vpc_identity_model\nzone = zone_identity_model\nfloating_ip = public_gateway_prototype_floating_ip_model\nname = 'my-public_gateway'\nresource_group = resource_group_identity_model\n\nresponse = service.create_public_gateway(\n    vpc,\n    zone,\n    floating_ip=floating_ip,\n    name=name,\n    resource_group=resource_group,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/public_gateways/{id}": {
      "delete": {
        "description": "This request deletes a public gateway. This operation cannot be reversed. For this request\nto succeed, the public gateway must not be attached to any subnets. The public gateway's\nfloating IP will be automatically unbound. If the floating IP was created when the public\ngateway was created, it will be deleted.",
        "operationId": "delete_public_gateway",
        "responses": {
          "204": {
            "description": "The public gateway was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A public gateway with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The public gateway is in use and cannot be deleted."
          }
        },
        "summary": "Delete a public gateway",
        "tags": [
          "Public gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-gateway.public-gateway.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-gateway.public-gateway.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/public_gateways/$public_gateway_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeletePublicGatewayOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeletePublicGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeletePublicGatewayOptions deletePublicGatewayOptions = new DeletePublicGatewayOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deletePublicGateway(deletePublicGatewayOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deletePublicGateway({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_public_gateway(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single public gateway specified by the identifier in the URL.",
        "operationId": "get_public_gateway",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "public_gateway",
                  "status": "available",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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 retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A public gateway with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a public gateway",
        "tags": [
          "Public gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-gateway.public-gateway.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "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/public_gateways/$public_gateway_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetPublicGatewayOptions{}\noptions.SetID(id)\npublicGateway, response, err := vpcService.GetPublicGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetPublicGatewayOptions getPublicGatewayOptions = new GetPublicGatewayOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<PublicGateway> response = service.getPublicGateway(getPublicGatewayOptions).execute();\nPublicGateway publicGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getPublicGateway({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_public_gateway(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/publicGatewayIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a public gateway's name.",
        "operationId": "update_public_gateway",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-public-gateway"
              },
              "schema": {
                "$ref": "#/components/schemas/PublicGatewayPatch"
              }
            }
          },
          "description": "The public gateway patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "public_gateway",
                  "status": "available",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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 updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid public gateway patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A public gateway with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The public gateway patch conflicts with another public gateway in the VPC."
          }
        },
        "summary": "Update a public gateway",
        "tags": [
          "Public gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.public-gateway.public-gateway.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.public-gateway.public-gateway.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/public_gateways/$public_gateway_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-public-gateway\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdatePublicGatewayOptions{}\noptions.SetID(id)\noptions.SetName(name)\npublicGateway, response, err := vpcService.UpdatePublicGateway(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdatePublicGatewayOptions updatePublicGatewayOptions = new UpdatePublicGatewayOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<PublicGateway> response = service.updatePublicGateway(updatePublicGatewayOptions).execute();\nPublicGateway publicGateway = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updatePublicGateway({\n  id,\n  name: 'my-public-gateway',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_public_gateway(\n    id,\n    name='my-public-gateway',\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/regions": {
      "get": {
        "description": "This request lists regions. Each region is a separate geographic area that contains\nmultiple isolated zones. Resources can be provisioned into one or more zones in a region.\nEach zone is isolated, but connected to other zones in the same region with low-latency and\nhigh-bandwidth links. Regions represent the top-level of fault isolation available.\nResources deployed within a single region also benefit from the low latency afforded by\ngeographic proximity.",
        "operationId": "list_regions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/RegionCollection"
                }
              }
            },
            "description": "The regions were retrieved successfully."
          }
        },
        "summary": "List regions",
        "tags": [
          "Geography"
        ],
        "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/regions?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listRegionsOptions := &vpcv1.ListRegionsOptions{}\nregions, response, err := gen2.ListRegions(listRegionsOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListRegionsOptions listRegionsOptions = new ListRegionsOptions();\n\nResponse<RegionCollection> response = service.listRegions(listRegionsOptions).execute();\nRegionCollection regionCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listRegions();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_regions()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ]
    },
    "/regions/{name}": {
      "get": {
        "description": "This request retrieves a single region specified by the name in the URL.",
        "operationId": "get_region",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/Region"
                }
              }
            },
            "description": "The region was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A region with the specified name could not be found."
          }
        },
        "summary": "Retrieve a region",
        "tags": [
          "Geography"
        ],
        "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/regions/$region-name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getRegionOptions := &vpcv1.GetRegionOptions{}\ngetRegionOptions.SetName(name)\nregion, response, err := vpcService.GetRegion(getRegionOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetRegionOptions getRegionOptions = new GetRegionOptions.Builder()\n  .name(regionName)\n  .build();\n\nResponse<Region> response = service.getRegion(getRegionOptions).execute();\nRegion region = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getRegion({ regionName });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_region(name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/regionNameUnqualified"
        }
      ]
    },
    "/regions/{region_name}/zones": {
      "get": {
        "description": "This request lists zones in a region. Zones represent logically-isolated data centers\nwith high-bandwidth and low-latency interconnects to other zones in the same region. Faults\nin a zone do not affect other zones.",
        "operationId": "list_region_zones",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "zones": [
                    {
                      "data_center": "DAL12",
                      "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"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/ZoneCollection"
                }
              }
            },
            "description": "The zones were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A region with the specified name could not be found."
          }
        },
        "summary": "List zones in a region",
        "tags": [
          "Geography"
        ],
        "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/regions/$region-name/zones?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listZonesOptions := &vpcv1.ListRegionZonesOptions{}\nlistZonesOptions.SetRegionName(regionName)\nzones, response, err := vpcService.ListRegionZones(listZonesOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListRegionZonesOptions listRegionZonesOptions = new ListRegionZonesOptions.Builder()\n  .regionName(regionName)\n  .build();\n\nResponse<ZoneCollection> response = service.listRegionZones(listRegionZonesOptions).execute();\nZoneCollection zoneCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listRegionZones({ regionName });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_region_zones(region_name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/regionName"
        }
      ]
    },
    "/regions/{region_name}/zones/{name}": {
      "get": {
        "description": "This request retrieves a single zone specified by the region and zone names in the URL.",
        "operationId": "get_region_zone",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data_center": "DAL12",
                  "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"
                },
                "schema": {
                  "$ref": "#/components/schemas/Zone"
                }
              }
            },
            "description": "The zone was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A zone with the specified name could not be found."
          }
        },
        "summary": "Retrieve a zone",
        "tags": [
          "Geography"
        ],
        "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/regions/$region-name/zones/$zone-name?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getZoneOptions := &vpcv1.GetRegionZoneOptions{}\ngetZoneOptions.SetRegionName(regionName)\ngetZoneOptions.SetZoneName(zoneName)\nzone, response, err := vpcService.GetRegionZone(getZoneOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetRegionZoneOptions getRegionZoneOptions = new GetRegionZoneOptions.Builder()\n  .regionName(regionName)\n  .zoneName(zoneName)\n  .build();\n\nResponse<Zone> response = service.getRegionZone(getRegionZoneOptions).execute();\nZone zone = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getRegionZone({\n  region: regionName,\n  zone: zoneName,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_region_zone(region_name, zone_name)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/regionName"
        },
        {
          "$ref": "#/components/parameters/zoneNameUnqualified"
        }
      ]
    },
    "/reservations": {
      "get": {
        "description": "This request lists reservations in the region. A reservation provides reserved\ncapacity for a specified profile in a specified zone. A reservation can also include a\nlong-term committed use discount.\n\nThe reservations will be sorted by their `created_at` property values, with newest\nreservations first. Reservations with identical `created_at` property values will in turn\nbe sorted by ascending `name` property values.",
        "operationId": "list_reservations",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/profileByResourceType"
          },
          {
            "$ref": "#/components/parameters/reservationAffinityPolicy"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/zone"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/reservations?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "reservations": [
                    {
                      "affinity_policy": "automatic",
                      "capacity": {
                        "allocated": 10,
                        "available": 8,
                        "status": "allocated",
                        "total": 10,
                        "used": 2
                      },
                      "committed_use": {
                        "expiration_at": "2026-01-02T03:04:05.006Z",
                        "expiration_policy": "release",
                        "term": "one_year"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "deleting",
                      "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": "my-resource-group"
                      },
                      "resource_type": "reservation",
                      "status": "activating",
                      "status_reasons": [
                        {
                          "code": "cannot_activate_no_capacity_available",
                          "message": "The reservation cannot be activated because capacity is unavailable",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/ReservationCollection"
                }
              }
            },
            "description": "The reservations were retrieved successfully."
          }
        },
        "summary": "List reservations",
        "tags": [
          "Reservations"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.reservation.reservation.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.reservation.reservation.list"
            },
            {
              "name": "is.reservation.reservation.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/reservations?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listReservationsOptions := &vpcv1.ListReservationsOptions{}\nreservations, resp, err := vpcService.ListReservations(listReservationsOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListReservationsOptions listReservationsOptions = new ListReservationsOptions.Builder()\n  .build();\nResponse<ReservationCollection> response = service.listReservations(listReservationsOptions).execute();\nReservationCollection reservationCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listReservations();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "reservation_collection = vpc_service.list_reservations().get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new reservation from a reservation prototype object. The prototype\nobject is structured in the same way as a retrieved reservation, and contains the\ninformation necessary to create the new reservation.",
        "operationId": "create_reservation",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "affinity_policy": "automatic",
                "capacity": {
                  "total": 10
                },
                "committed_use": {
                  "expiration_policy": "release",
                  "term": "one_year"
                },
                "name": "my-reservation",
                "profile": {
                  "name": "bx2-4x16",
                  "resource_type": "bare_metal_server_profile"
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ReservationPrototype"
              }
            }
          },
          "description": "The reservation prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "affinity_policy": "automatic",
                  "capacity": {
                    "allocated": 10,
                    "available": 8,
                    "status": "allocated",
                    "total": 10,
                    "used": 2
                  },
                  "committed_use": {
                    "expiration_at": "2026-01-02T03:04:05.006Z",
                    "expiration_policy": "release",
                    "term": "one_year"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "reservation",
                  "status": "activating",
                  "status_reasons": [
                    {
                      "code": "cannot_activate_no_capacity_available",
                      "message": "The reservation cannot be activated because capacity is unavailable",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons"
                    }
                  ],
                  "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/Reservation"
                }
              }
            },
            "description": "The reservation was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid reservation prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The reservation prototype object conflicts with another reservation in the region."
          }
        },
        "summary": "Create a reservation",
        "tags": [
          "Reservations"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.reservation.reservation.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.reservation.reservation.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/reservations?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"capacity\": {\n        \"total\": 10\n      },\n      \"committed_use\": {\n        \"expiration_policy\": \"renew\",\n        \"term\": \"one_year\"\n      },\n      \"name\": \"my-reservation\",\n      \"profile\": {\n        \"name\": \"bx2-4x16\",\n        \"resource_type\": \"instance_profile\"\n      },\n      \"zone\": {\n        \"name\": \"us-south-1\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "reservationCapacityPrototypeModel := &vpcv1.ReservationCapacityPrototype{\n  Total: &total,\n}\nreservationCommittedUsePrototypeModel := &vpcv1.ReservationCommittedUsePrototype{\n  Term: &term,\n}\nreservationProfilePrototypeModel := &vpcv1.ReservationProfilePrototype{\n  Name: &profileName,\n  ResourceType: &resourceType,\n}\nzoneIdentityModel := &vpcv1.ZoneIdentityByName{\n  Name: &zoneName,\n}\ncreateReservationOptions := &vpcv1.CreateReservationOptions{\n  Capacity:     reservationCapacityPrototypeModel,\n  CommittedUse: reservationCommittedUsePrototypeModel,\n  Profile:      reservationProfilePrototypeModel,\n  Zone:         zoneIdentityModel,\n}\nreservation, response, err := vpcService.CreateReservation(createReservationOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ReservationCapacityPrototype reservationCapacityPrototypeModel = new ReservationCapacityPrototype.Builder()\n  .total(total)\n  .build();\nReservationCommittedUsePrototype reservationCommittedUsePrototypeModel = new ReservationCommittedUsePrototype.Builder()\n  .term(term)\n  .build();\nReservationProfilePrototype reservationProfilePrototypeModel = new ReservationProfilePrototype.Builder()\n  .name(profileName)\n  .resourceType(resourceType)\n  .build();\nZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder()\n  .name(zoneName)\n   .build();\nCreateReservationOptions createReservationOptions = new CreateReservationOptions.Builder()\n  .capacity(reservationCapacityPrototypeModel)\n  .committedUse(reservationCommittedUsePrototypeModel)\n  .profile(reservationProfilePrototypeModel)\n  .zone(zoneIdentityModel)\n  .name(\"my-reservation\")\n  .build();\n\nResponse<Reservation> response = vpcService.createReservation(createReservationOptions).execute();\nReservation reservation = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const reservationCapacityModel = {\n  total: total,\n};\nconst reservationCommittedUseModel = {\n  term: term,\n};\nconst reservationProfileModel = {\n  name: profileName,\n  resource_type: resourceType,\n};\nconst vpcIdentityModel = {\n  id: vpcId,\n};\nconst zoneIdentityModel = {\n  name: zoneName,\n};\nconst params = {\n  capacity: reservationCapacityModel,\n  committedUse: reservationCommittedUseModel,\n  profile: reservationProfileModel,\n  zone: zoneIdentityModel,\n  name: \"my-reservation\",\n};\nconst response = await vpcService.createReservation(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "capacity_model = {}\ncapacity_model['total'] = total\n\ncommitted_use_model = {}\ncommitted_use_model['term'] = term\n\nprofile_model = {}\nprofile_model['name'] = profileName\nprofile_model['resource_type'] = resourceType\n\nzone_identity_model = {}\nzone_identity_model['name'] = zoneName\n\nreservation = vpc_service.create_reservation(\n  capacity=capacity_model, committed_use=committed_use_model, profile=profile_model,\n  zone=zone_identity_model, name='my-reservation').get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/reservations/{id}": {
      "delete": {
        "description": "This request deletes a reservation. This operation cannot be reversed. Reservations with\na `status` of `active` are not allowed to be deleted.",
        "operationId": "delete_reservation",
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "affinity_policy": "automatic",
                  "capacity": {
                    "allocated": 10,
                    "available": 8,
                    "status": "allocated",
                    "total": 10,
                    "used": 2
                  },
                  "committed_use": {
                    "expiration_at": "2026-01-02T03:04:05.006Z",
                    "expiration_policy": "release",
                    "term": "one_year"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "reservation",
                  "status": "activating",
                  "status_reasons": [
                    {
                      "code": "cannot_activate_no_capacity_available",
                      "message": "The reservation cannot be activated because capacity is unavailable",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons"
                    }
                  ],
                  "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/Reservation"
                }
              }
            },
            "description": "The reservation deletion request was accepted."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The reservation is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A reservation with the specified identifier could not be found."
          }
        },
        "summary": "Delete a reservation",
        "tags": [
          "Reservations"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.reservation.reservation.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.reservation.reservation.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/reservations/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteReservationOptions{\n  ID: &reservationID,\n}\nreservation, response, err := vpcService.DeleteReservation(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteReservationOptions deleteReservationOptions = new DeleteReservationOptions.Builder()\n  .id(reservationId)\n  .build();\n\nResponse<Reservation> response = vpcService.deleteReservation(deleteReservationOptions).execute();\nReservation reservation = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: reservationId,\n}\nconst response = await vpcService.deleteReservation(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "reservation = vpc_service.delete_reservation(id=reservation_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single reservation specified by identifier in the URL.",
        "operationId": "get_reservation",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "affinity_policy": "automatic",
                  "capacity": {
                    "allocated": 10,
                    "available": 8,
                    "status": "allocated",
                    "total": 10,
                    "used": 2
                  },
                  "committed_use": {
                    "expiration_at": "2026-01-02T03:04:05.006Z",
                    "expiration_policy": "release",
                    "term": "one_year"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "reservation",
                  "status": "activating",
                  "status_reasons": [
                    {
                      "code": "cannot_activate_no_capacity_available",
                      "message": "The reservation cannot be activated because capacity is unavailable",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons"
                    }
                  ],
                  "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/Reservation"
                }
              }
            },
            "description": "The reservation was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A reservation with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a reservation",
        "tags": [
          "Reservations"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.reservation.reservation.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.reservation.reservation.read"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n\"$vpc_api_endpoint/v1/reservations/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetReservationOptions{\n  ID: &reservationID,\n}\nreservation, response, err := vpcService.GetReservation(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetReservationOptions getReservationOptions = new GetReservationOptions.Builder()\n  .id(reservationId)\n  .build();\n\nResponse<Reservation> response = vpcService.getReservation(getReservationOptions).execute();\nReservation reservation = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: reservationId,\n};\nconst response = await vpcService.getReservation(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "reservation = vpc_service.get_reservation(id=reservation_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/reservationIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a reservation with the information provided in a reservation patch\nobject. The patch object is structured in the same way as a retrieved reservation and\nneeds to contain only the information to be updated.",
        "operationId": "update_reservation",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "affinity_policy": "automatic",
                "capacity": {
                  "total": 10
                },
                "committed_use": {
                  "expiration_policy": "release",
                  "term": "one_year"
                },
                "name": "my-reservation",
                "profile": {
                  "name": "bx2-4x16",
                  "resource_type": "bare_metal_server_profile"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ReservationPatch"
              }
            }
          },
          "description": "The reservation patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "affinity_policy": "automatic",
                  "capacity": {
                    "allocated": 10,
                    "available": 8,
                    "status": "allocated",
                    "total": 10,
                    "used": 2
                  },
                  "committed_use": {
                    "expiration_at": "2026-01-02T03:04:05.006Z",
                    "expiration_policy": "release",
                    "term": "one_year"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "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": "my-resource-group"
                  },
                  "resource_type": "reservation",
                  "status": "activating",
                  "status_reasons": [
                    {
                      "code": "cannot_activate_no_capacity_available",
                      "message": "The reservation cannot be activated because capacity is unavailable",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons"
                    }
                  ],
                  "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/Reservation"
                }
              }
            },
            "description": "The reservation was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid reservation patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A reservation with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The reservation patch conflicts with another reservation in the region."
          }
        },
        "summary": "Update a reservation",
        "tags": [
          "Reservations"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.reservation.reservation.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.reservation.reservation.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/reservations/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"committed_use\": {\n        \"expiration_policy\": \"release\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "reservationPatchModel := new(vpcv1.ReservationPatch)\nreservationPatchModel.Name = &updatedName\nreservationPatchModelAsPatch, asPatchErr := reservationPatchModel.AsPatch()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ReservationPatch reservationPatchModel = new ReservationPatch.Builder()\n  .build();\nMap<String, Object> reservationPatchModelAsPatch = reservationPatchModel.asPatch();\nUpdateReservationOptions updateReservationOptions = new UpdateReservationOptions.Builder()\n  .id(reservationId)\n  .reservationPatch(reservationPatchModelAsPatch)\n  .build();\n\nResponse<Reservation> response = vpcService.updateReservation(updateReservationOptions).execute();\nReservation reservation = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: reservationId,\n  name: 'my-reservation-updated',\n}\nconst response = await vpcService.updateReservation(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "reservation_patch_model = {}\nreservation_patch_model['name'] ='my-reservation-updated'\nreservation = vpc_service.update_reservation(\n  id=reservation_id, reservation_patch=reservation_patch_model).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/reservations/{id}/activate": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/reservationIdUnqualified"
        }
      ],
      "post": {
        "description": "This request activates a reservation. For this request to succeed, the reservation status\nmust be `inactive`.",
        "operationId": "activate_reservation",
        "responses": {
          "202": {
            "description": "The reservation activation request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A reservation with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The reservation cannot be activated in its current state."
          }
        },
        "summary": "Activate a reservation",
        "tags": [
          "Reservations"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.reservation.reservation.activate"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.reservation.reservation.activate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/reservations/$id/activate?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ActivateReservationOptions{\n  ID: &reservationID,\n}\nresponse, err := vpcService.ActivateReservation(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ActivateReservationOptions activateReservationOptions = new ActivateReservationOptions.Builder()\n  .id(reservationId)\n  .build();\n\nResponse<Void> response = vpcService.activateReservation(activateReservationOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  id: reservationId,\n}\nconst response = await vpcService.activateReservation(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.activate_reservation(id=reservation_id).get_result()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/security_groups": {
      "get": {
        "description": "This request lists security groups in the region. A security group defines a set of packet\nfiltering rules to allow traffic in and out of the resources targeted by the security group.\nNo traffic is allowed by default. Security group rules are stateful so that reverse traffic\nin response to allowed traffic is automatically allowed.",
        "operationId": "list_security_groups",
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/resourceGroup"
          },
          {
            "$ref": "#/components/parameters/vpc"
          },
          {
            "$ref": "#/components/parameters/vpcByCRN"
          },
          {
            "$ref": "#/components/parameters/vpcByName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "security_groups": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "my-resource-group"
                      },
                      "rules": [
                        {
                          "direction": "inbound",
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                          "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                          "ip_version": "ipv4",
                          "local": {
                            "address": "192.168.3.4"
                          },
                          "name": "my-security-group-rule",
                          "protocol": "ah",
                          "remote": {
                            "address": "192.168.3.4"
                          },
                          "resource_type": "security_group_rule"
                        }
                      ],
                      "targets": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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-bare-metal-server-network-interface",
                          "resource_type": "network_interface"
                        }
                      ],
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroupCollection"
                }
              }
            },
            "description": "The security groups were retrieved successfully."
          }
        },
        "summary": "List security groups",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group.read"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.security-group.security-group.list"
            },
            {
              "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/security_groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListSecurityGroupsOptions{}\nsecurityGroups, response, err := vpcService.ListSecurityGroups(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListSecurityGroupsOptions listSecurityGroupsOptions = new ListSecurityGroupsOptions.Builder()\n  .build();\n\nResponse<SecurityGroupCollection> response = service.listSecurityGroups(listSecurityGroupsOptions).execute();\nSecurityGroupCollection securityGroupCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listSecurityGroups();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_security_groups()"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        }
      ],
      "post": {
        "description": "This request creates a new security group from a security group prototype object. The\nprototype object is structured in the same way as a retrieved security group, and contains\nthe information necessary to create the new security group. If security group rules are\nincluded in the prototype object, those rules will be added to the security group. Each\nsecurity group is scoped to one VPC. Only resources in that VPC can be added to the\nsecurity group.",
        "operationId": "create_security_group",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "my-security-group",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "rules": [
                  {
                    "direction": "inbound",
                    "ip_version": "ipv4",
                    "local": {
                      "address": "192.168.3.4"
                    },
                    "name": "my-rule-1",
                    "protocol": "ah",
                    "remote": {
                      "address": "192.168.3.4"
                    }
                  }
                ],
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/SecurityGroupPrototype"
              }
            }
          },
          "description": "The security group prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "direction": "inbound",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "ip_version": "ipv4",
                      "local": {
                        "address": "192.168.3.4"
                      },
                      "name": "my-security-group-rule",
                      "protocol": "ah",
                      "remote": {
                        "address": "192.168.3.4"
                      },
                      "resource_type": "security_group_rule"
                    }
                  ],
                  "targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "resource_type": "network_interface"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/SecurityGroup"
                }
              }
            },
            "description": "The security group was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid security group prototype object was provided."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The security group prototype object conflicts with another security group in the VPC."
          }
        },
        "summary": "Create a security group",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.security-group.security-group.create"
            },
            {
              "name": "is.vpc.vpc.operate"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/security_groups?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-security-group-allow-ssh\",\n      \"rules\": [\n        {\n          \"direction\": \"inbound\",\n          \"ip_version\": \"ipv4\",\n          \"protocol\": \"tcp\",\n          \"port_min\": 22,\n          \"port_max\": 22,\n          \"remote\": {\n            \"cidr_block\": \"0.0.0.0/0\"\n          }\n        }\n      ],\n      \"vpc\": {\n        \"id\": \"r006-4727d842-f94f-4a2d-824a-9bc9b02c523b\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateSecurityGroupOptions{}\noptions.SetVpc(&vpcv1.VPCIdentity{\n  ID: &vpcID,\n})\noptions.SetName(name)\nsg, response, err := vpcService.CreateSecurityGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "VPCIdentityById vpcIdentityModel = new VPCIdentityById.Builder()\n  .id(vpcId)\n  .build();\nCreateSecurityGroupOptions createSecurityGroupOptions = new CreateSecurityGroupOptions.Builder()\n  .vpc(vpcIdentityModel)\n  .name(\"my-security-group\")\n  .build();\n\nResponse<SecurityGroup> response = service.createSecurityGroup(createSecurityGroupOptions).execute();\nSecurityGroup securityGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const vpcIdentityModel = {\n  id: vpcID,\n};\n\nconst params = {\n  vpc: vpcIdentityModel,\n  name: 'my-security-group',\n};\n\nconst response = await vpcService.createSecurityGroup(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "vpc_identity_model = {}\nvpc_identity_model['id'] = vpc\n\nresource_group_identity_model = {}\nresource_group_identity_model['id'] = resource_group_id\n\nsecurity_group_rule_protocol_icmp_remote_model = {}\nsecurity_group_rule_protocol_icmp_remote_model[\n    'address'] = '192.168.3.4'\n\nsecurity_group_rule_prototype_model = {}\nsecurity_group_rule_prototype_model['direction'] = 'inbound'\nsecurity_group_rule_prototype_model['ip_version'] = 'ipv4'\nsecurity_group_rule_prototype_model['protocol'] = 'icmp'\nsecurity_group_rule_prototype_model[\n    'remote'] = security_group_rule_protocol_icmp_remote_model\nsecurity_group_rule_prototype_model['code'] = 0\nsecurity_group_rule_prototype_model['type'] = 8\n\nvpc = vpc_identity_model\nname = 'my-security_group'\nresource_group = resource_group_identity_model\nrules = [security_group_rule_prototype_model]\n\nresponse = service.create_security_group(\n    vpc,\n    name=name,\n    resource_group=resource_group,\n    rules=rules,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/security_groups/{id}": {
      "delete": {
        "description": "This request deletes a security group. A security group cannot be deleted if it is\nreferenced by any security group targets or rules. Additionally, a VPC's default security\ngroup cannot be deleted. This operation cannot be reversed.",
        "operationId": "delete_security_group",
        "responses": {
          "204": {
            "description": "The security group was deleted successfully."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The VPC's default security group is not allowed to be deleted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A security group with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The security group is in use and cannot be deleted."
          }
        },
        "summary": "Delete a security group",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.security-group.security-group.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/security_groups/$security_group_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteSecurityGroupOptions{}\noptions.SetID(id)\nresponse, err := vpcService.DeleteSecurityGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteSecurityGroupRuleOptions deleteSecurityGroupRuleOptions = new DeleteSecurityGroupRuleOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteSecurityGroupRule(deleteSecurityGroupRuleOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteSecurityGroup({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_security_group(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single security group specified by the identifier in the URL path.",
        "operationId": "get_security_group",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "direction": "inbound",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "ip_version": "ipv4",
                      "local": {
                        "address": "192.168.3.4"
                      },
                      "name": "my-security-group-rule",
                      "protocol": "ah",
                      "remote": {
                        "address": "192.168.3.4"
                      },
                      "resource_type": "security_group_rule"
                    }
                  ],
                  "targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "resource_type": "network_interface"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/SecurityGroup"
                }
              }
            },
            "description": "The security group was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A security group with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a security group",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group.read"
            }
          ]
        },
        "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/security_groups/$security_group_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetSecurityGroupOptions{}\noptions.SetID(id)\nsg, response, err := vpcService.GetSecurityGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetSecurityGroupOptions getSecurityGroupOptions = new GetSecurityGroupOptions.Builder()\n  .id(id)\n  .build();\n\nResponse<SecurityGroup> response = service.getSecurityGroup(getSecurityGroupOptions).execute();\nSecurityGroup securityGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getSecurityGroup({ id });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_security_group(id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/securityGroupIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a security group with the information provided in a security group\npatch object. The security group patch object is structured in the same way as a retrieved\nsecurity group and contains only the information to be updated.",
        "operationId": "update_security_group",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-security-group"
              },
              "schema": {
                "$ref": "#/components/schemas/SecurityGroupPatch"
              }
            }
          },
          "description": "The security group patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "direction": "inbound",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "ip_version": "ipv4",
                      "local": {
                        "address": "192.168.3.4"
                      },
                      "name": "my-security-group-rule",
                      "protocol": "ah",
                      "remote": {
                        "address": "192.168.3.4"
                      },
                      "resource_type": "security_group_rule"
                    }
                  ],
                  "targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "resource_type": "network_interface"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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/SecurityGroup"
                }
              }
            },
            "description": "The security group was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid security group patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A security group with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The security group patch conflicts with another security group in the VPC."
          }
        },
        "summary": "Update a security group",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.security-group.security-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/security_groups/$security_group_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"name\": \"my-security-group-allow-ssh-2\" }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateSecurityGroupOptions{}\noptions.SetID(id)\noptions.SetName(name)\nsg, response, err := vpcService.UpdateSecurityGroup(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateSecurityGroupOptions updateSecurityGroupOptions = new UpdateSecurityGroupOptions.Builder()\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<SecurityGroup> response = service.updateSecurityGroup(updateSecurityGroupOptions).execute();\nSecurityGroup securityGroup = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.updateSecurityGroup({\n  id,\n  name: 'my-security-group',\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.update_security_group(\n    id,\n    name=name,\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/security_groups/{security_group_id}/rules": {
      "get": {
        "description": "This request lists rules in a security group. These rules define what traffic the\nsecurity group permits. Security group rules are stateful, such that reverse traffic in\nresponse to allowed traffic is automatically permitted.",
        "operationId": "list_security_group_rules",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "rules": [
                    {
                      "direction": "inbound",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "ip_version": "ipv4",
                      "local": {
                        "address": "192.168.3.4"
                      },
                      "name": "my-security-group-rule",
                      "protocol": "ah",
                      "remote": {
                        "address": "192.168.3.4"
                      },
                      "resource_type": "security_group_rule"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroupRuleCollection"
                }
              }
            },
            "description": "The security group rules were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A security group with the specified identifier could not be found."
          }
        },
        "summary": "List rules in a security group",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group-rule.read"
            }
          ]
        },
        "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/security_groups/$security_group_id/rules?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListSecurityGroupRulesOptions{}\noptions.SetSecurityGroupID(id)\nrules, response, err := vpcService.ListSecurityGroupRules(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListSecurityGroupRulesOptions listSecurityGroupRulesOptions = new ListSecurityGroupRulesOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .build();\n\nResponse<SecurityGroupRuleCollection> response = service.listSecurityGroupRules(listSecurityGroupRulesOptions).execute();\nSecurityGroupRuleCollection securityGroupRuleCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listSecurityGroupRules({ securityGroupId });"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_security_group_rules(security_group_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/securityGroupId"
        }
      ],
      "post": {
        "description": "This request creates a new security group rule from a security group rule prototype object.\nThe prototype object is structured in the same way as a retrieved security group rule and\ncontains the information necessary to create the rule. As part of creating a new rule in a\nsecurity group, the rule is applied to all the networking interfaces in the security group.\nRules specify which IP traffic a security group will allow. Security group rules are\nstateful, such that reverse traffic in response to allowed traffic is automatically\npermitted. A rule allowing inbound TCP traffic on port 80 also allows outbound TCP traffic\non port 80 without the need for an additional rule.",
        "operationId": "create_security_group_rule",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "direction": "inbound",
                "ip_version": "ipv4",
                "local": {
                  "address": "192.168.3.4"
                },
                "name": "my-rule-1",
                "protocol": "ah",
                "remote": {
                  "address": "192.168.3.4"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/SecurityGroupRulePrototype"
              }
            }
          },
          "description": "The properties of the security group rule to be created.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "direction": "inbound",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                  "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                  "ip_version": "ipv4",
                  "local": {
                    "address": "192.168.3.4"
                  },
                  "name": "my-security-group-rule",
                  "protocol": "ah",
                  "remote": {
                    "address": "192.168.3.4"
                  },
                  "resource_type": "security_group_rule"
                },
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroupRule"
                }
              }
            },
            "description": "The security group rule was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid security group rule prototype object was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A security group with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The security group rule prototype object conflicts with another security group rule\nfor the security group."
          }
        },
        "summary": "Create a rule for a security group",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group-rule.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.security-group.security-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/security_groups/$security_group_id/rules?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"direction\": \"inbound\",\n      \"code\": 0,\n      \"ip_version\": \"ipv4\",\n      \"local\": {\n        \"address\": \"192.168.11.12\"\n      },\n      \"protocol\": \"icmp\",\n      \"remote\": {\n        \"cidr_block\": \"0.0.0.0/0\"\n      },\n      \"type\": 8\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CreateSecurityGroupRuleOptions{}\noptions.SetSecurityGroupID(sgID)\noptions.SetSecurityGroupRulePrototype(&vpcv1.SecurityGroupRulePrototype{\n  Direction: core.StringPtr(\"inbound\"),\n  Protocol:  core.StringPtr(\"all\"),\n  IpVersion: core.StringPtr(\"ipv4\"),\n})\nrule, response, err := vpcService.CreateSecurityGroupRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "SecurityGroupRulePrototypeSecurityGroupRuleProtocolICMP securityGroupRulePrototypeModel = new SecurityGroupRulePrototypeSecurityGroupRuleProtocolICMP.Builder()\n  .direction(\"inbound\")\n  .build();\nCreateSecurityGroupRuleOptions createSecurityGroupRuleOptions = new CreateSecurityGroupRuleOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .securityGroupRulePrototype(securityGroupRulePrototypeModel)\n  .build();\n\nResponse<SecurityGroupRule> response = service.createSecurityGroupRule(createSecurityGroupRuleOptions).execute();\nSecurityGroupRule securityGroupRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const securityGroupRulePrototypeRemoteModel = {\n  address: '192.168.3.4',\n};\n\nconst securityGroupRulePrototypeModel = {\n  direction: 'inbound',\n  ip_version: 'ipv4',\n  protocol: 'tcp',\n  remote: securityGroupRulePrototypeRemoteModel,\n  code: 0,\n  type: 8,\n};\n\nconst params = {\n  securityGroupId,\n  securityGroupRulePrototype: securityGroupRulePrototypeModel,\n};\n\nconst response = await vpcService.createSecurityGroupRule(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "security_group_rule_protocol_icmp_remote_model = {}\nsecurity_group_rule_protocol_icmp_remote_model[\n    'address'] = '192.168.3.4'\n\nsecurity_group_rule_prototype_model = {}\nsecurity_group_rule_prototype_model['direction'] = 'inbound'\nsecurity_group_rule_prototype_model['ip_version'] = 'ipv4'\nsecurity_group_rule_prototype_model['protocol'] = 'icmp'\nsecurity_group_rule_prototype_model[\n    'remote'] = security_group_rule_protocol_icmp_remote_model\nsecurity_group_rule_prototype_model['code'] = 0\nsecurity_group_rule_prototype_model['type'] = 8\n\nsecurity_group_id = security_group_id\nsecurity_group_rule_prototype = security_group_rule_prototype_model\n\nresponse = service.create_security_group_rule(\n    security_group_id, security_group_rule_prototype)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/security_groups/{security_group_id}/rules/{id}": {
      "delete": {
        "description": "This request deletes a security group rule. This operation cannot be reversed. Removing a\nsecurity group rule will not end existing connections allowed by that rule.",
        "operationId": "delete_security_group_rule",
        "responses": {
          "204": {
            "description": "The security group rule was deleted successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A rule with the specified identifier could not be found."
          }
        },
        "summary": "Delete a security group rule",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group-rule.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.security-group.security-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/security_groups/$security_group_id/rules/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.DeleteSecurityGroupRuleOptions{}\noptions.SetSecurityGroupID(sgID)\noptions.SetID(sgRuleID)\nresponse, err := vpcService.DeleteSecurityGroupRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteSecurityGroupRuleOptions deleteSecurityGroupRuleOptions = new DeleteSecurityGroupRuleOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.deleteSecurityGroupRule(deleteSecurityGroupRuleOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteSecurityGroupRule({\n  securityGroupId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.delete_security_group_rule(security_group_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single security group rule specified by the identifier in the URL\npath.",
        "operationId": "get_security_group_rule",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "direction": "inbound",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                  "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                  "ip_version": "ipv4",
                  "local": {
                    "address": "192.168.3.4"
                  },
                  "name": "my-security-group-rule",
                  "protocol": "ah",
                  "remote": {
                    "address": "192.168.3.4"
                  },
                  "resource_type": "security_group_rule"
                },
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroupRule"
                }
              }
            },
            "description": "The rule was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A rule with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a security group rule",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group-rule.read"
            }
          ]
        },
        "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/security_groups/$security_group_id/rules/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetSecurityGroupRuleOptions{}\noptions.SetSecurityGroupID(sgID)\noptions.SetID(sgRuleID)\nrule, response, err := vpcService.GetSecurityGroupRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetSecurityGroupRuleOptions getSecurityGroupRuleOptions = new GetSecurityGroupRuleOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .id(id)\n  .build();\n\nResponse<SecurityGroupRule> response = service.getSecurityGroupRule(getSecurityGroupRuleOptions).execute();\nSecurityGroupRule securityGroupRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.getSecurityGroupRule({\n  securityGroupId,\n  id,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_security_group_rule(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/securityGroupRuleIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates a security group rule with the information in a provided rule patch\nobject. The rule patch object contains only the information to be updated. The request will\nfail if the provided patch includes properties that are not used by the rule's protocol.",
        "operationId": "update_security_group_rule",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "code": 1,
                "direction": "inbound",
                "ip_version": "ipv4",
                "local": {
                  "address": "192.168.3.4"
                },
                "name": "my-security-group-rule",
                "port_max": 22,
                "port_min": 22,
                "remote": {
                  "address": "192.168.3.4"
                },
                "type": 8
              },
              "schema": {
                "$ref": "#/components/schemas/SecurityGroupRulePatch"
              }
            }
          },
          "description": "The security group rule patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "direction": "inbound",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                  "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                  "ip_version": "ipv4",
                  "local": {
                    "address": "192.168.3.4"
                  },
                  "name": "my-security-group-rule",
                  "protocol": "ah",
                  "remote": {
                    "address": "192.168.3.4"
                  },
                  "resource_type": "security_group_rule"
                },
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroupRule"
                }
              }
            },
            "description": "The security group rule was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid security group rule patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A rule with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The security group rule patch conflicts with another security group rule\nfor the security group."
          }
        },
        "summary": "Update a security group rule",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group-rule.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.security-group.security-group.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/security_groups/$security_group_id/rules/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"local\": {\n        \"address\": \"192.168.11.24\"\n      },\n      \"remote\": {\n        \"cidr_block\": \"9.10.0.0/16\"\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.UpdateSecurityGroupRuleOptions{}\noptions.SetSecurityGroupID(sgID)\noptions.SetID(sgRuleID)\noptions.SetRemote(&vpcv1.SecurityGroupRulePatchRemote{\n  Address: &ip,\n})\nrule, response, err := vpcService.UpdateSecurityGroupRule(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "UpdateSecurityGroupRuleOptions updateSecurityGroupRuleOptions = new UpdateSecurityGroupRuleOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .id(id)\n  .name(name)\n  .build();\n\nResponse<SecurityGroupRule> response = service.updateSecurityGroupRule(updateSecurityGroupRuleOptions).execute();\nSecurityGroupRule securityGroupRule = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  securityGroupId,\n  id,\n  remote: {\n    address: '192.168.3.4',\n  },\n};\n\nconst response = await vpcService.updateSecurityGroupRule(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "security_group_rule_patch_remote_model = {}\nsecurity_group_rule_patch_remote_model['address'] = '192.168.3.4'\n\ncode = 0\ndirection = 'inbound'\nip_version = 'ipv4'\nport_max = 22\nport_min = 22\nremote = security_group_rule_patch_remote_model\ntype = 8\n\nresponse = service.update_security_group_rule(\n    security_group_id,\n    id,\n    code=code,\n    direction=direction,\n    ip_version=ip_version,\n    port_max=port_max,\n    port_min=port_min,\n    remote=remote,\n    type=type,\n  )"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/security_groups/{security_group_id}/targets": {
      "get": {
        "description": "This request lists targets associated with a security group, to which the rules in the\nsecurity group are applied.",
        "operationId": "list_security_group_targets",
        "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/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/targets?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/targets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "resource_type": "network_interface"
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroupTargetCollection"
                }
              }
            },
            "description": "The targets were retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A security group with the specified identifier could not be found."
          }
        },
        "summary": "List targets associated with a security group",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group.read"
            }
          ]
        },
        "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/security_groups/$security_group_id/targets?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListSecurityGroupTargetsOptions{}\noptions.SetSecurityGroupID(id)\ntargets, response, err := vpcService.ListSecurityGroupTargets(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListSecurityGroupTargetsOptions listSecurityGroupTargetsOptions = new ListSecurityGroupTargetsOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .build();\n\nResponse<SecurityGroupTargetCollection> response = service.listSecurityGroupTargets(listSecurityGroupTargetsOptions).execute();\nSecurityGroupTargetCollection targetCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.listSecurityGroupTargets({\n  securityGroupId\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_security_group_targets(\n  security_group_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/securityGroupId"
        }
      ]
    },
    "/security_groups/{security_group_id}/targets/{id}": {
      "delete": {
        "description": "This request removes a target from a security group. For this request to succeed,\nthe target must be attached to at least one other security group.  The specified\ntarget identifier 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\nSecurity groups are stateful, so any changes to a target's security groups are\napplied to new connections. Existing connections are not affected.",
        "operationId": "delete_security_group_target_binding",
        "responses": {
          "204": {
            "description": "The target was successfully removed from the security group."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified target was not in the specified security group."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified target is not attached to any other security groups.\n\nThe specified target cannot be removed from the security group in its current state.\n(Applies to application load balancer targets that do not have an `active`\nprovisioning status.)"
          }
        },
        "summary": "Remove a target from 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.detach"
            },
            {
              "description": "Generated when `target` specifies a virtual network interface",
              "name": "is.virtual-network-interface.virtual-network-interface.detach"
            }
          ]
        },
        "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 DELETE \\\n\"$vpc_api_endpoint/v1/security_groups/$security_group_id/targets/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.RemoveSecurityGroupTargetOptions{}\noptions.SetSecurityGroupID(id)\noptions.SetID(targetID)\nresponse, err :=\n  vpcService.RemoveSecurityGroupTarget(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "RemoveSecurityGroupTargetOptions removeSecurityGroupTargetOptions = new RemoveSecurityGroupTargetOptions.Builder()\n  .securityGroupId(securityGroupId)\n  .id(id)\n  .build();\n\nResponse<Void> response = service.removeSecurityGroupTarget(removeSecurityGroupTargetOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const response = await vpcService.deleteSecurityGroupTarget({\n  id,\n  securityGroupId,\n});"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.remove_security_group_target(\n  security_group_id, id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single target specified by the identifier in the URL\npath. The target must be an existing target of the security group.",
        "operationId": "get_security_group_target",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "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-bare-metal-server-network-interface",
                  "resource_type": "network_interface"
                },
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroupTargetReference"
                }
              }
            },
            "description": "The target was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified target or security group could not be found."
          }
        },
        "summary": "Retrieve a security group target",
        "tags": [
          "Security groups"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.security-group.security-group.read"
            }
          ]
        },
        "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/security_groups/$security_group_id/targets/$id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "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<SecurityGroupTargetReference> 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": {
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "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-bare-metal-server-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": {
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "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-bare-metal-server-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=2026-06-30&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<SecurityGroupTargetReference> 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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "profiles": [
                    {
                      "allowed_access_protocols": {
                        "default": [
                          "nfs4"
                        ],
                        "type": "subset",
                        "values": [
                          "nfs4"
                        ]
                      },
                      "allowed_transit_encryption_modes": {
                        "default": [
                          "ipsec"
                        ],
                        "type": "subset",
                        "values": [
                          "ipsec"
                        ]
                      },
                      "availability_modes": {
                        "default": "regional",
                        "type": "enum",
                        "values": [
                          "zonal"
                        ]
                      },
                      "bandwidth": {
                        "default": 100,
                        "max": 1024,
                        "min": 1,
                        "step": 1,
                        "type": "range",
                        "value": 1
                      },
                      "capacity": {
                        "type": "fixed",
                        "value": 4800
                      },
                      "family": "defined_performance",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops",
                      "iops": {
                        "type": "fixed",
                        "value": 4000
                      },
                      "name": "tier-3iops",
                      "resource_type": "share_profile",
                      "storage_generation": {
                        "type": "fixed",
                        "value": 1
                      }
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<ShareProfileCollection> 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": {
                  "allowed_access_protocols": {
                    "default": [
                      "nfs4"
                    ],
                    "type": "subset",
                    "values": [
                      "nfs4"
                    ]
                  },
                  "allowed_transit_encryption_modes": {
                    "default": [
                      "ipsec"
                    ],
                    "type": "subset",
                    "values": [
                      "ipsec"
                    ]
                  },
                  "availability_modes": {
                    "default": "regional",
                    "type": "enum",
                    "values": [
                      "zonal"
                    ]
                  },
                  "bandwidth": {
                    "default": 100,
                    "max": 1024,
                    "min": 1,
                    "step": 1,
                    "type": "range",
                    "value": 1
                  },
                  "capacity": {
                    "type": "fixed",
                    "value": 4800
                  },
                  "family": "defined_performance",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops",
                  "iops": {
                    "type": "fixed",
                    "value": 4000
                  },
                  "name": "tier-3iops",
                  "resource_type": "share_profile",
                  "storage_generation": {
                    "type": "fixed",
                    "value": 1
                  }
                },
                "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=2026-06-30&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<ShareProfile> 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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/shares?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "shares": [
                    {
                      "access_control_mode": "security_group",
                      "accessor_binding_role": "accessor",
                      "accessor_bindings": [
                        {
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f",
                          "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f",
                          "resource_type": "share_accessor_binding"
                        }
                      ],
                      "allowed_access_protocols": [
                        "nfs4"
                      ],
                      "allowed_transit_encryption_modes": [
                        "ipsec"
                      ],
                      "availability_mode": "regional",
                      "bandwidth": 1,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                      "encryption": "provider_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/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                      "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                      "initial_owner": {
                        "gid": 50,
                        "uid": 50
                      },
                      "iops": 100,
                      "latest_job": {
                        "status": "cancelled",
                        "status_reasons": [
                          {
                            "code": "cannot_initialize_replication",
                            "message": "The replication failover failed because the source share cannot be reached.",
                            "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                          }
                        ],
                        "type": "replication_failover"
                      },
                      "latest_sync": {
                        "completed_at": "2026-01-02T03:04:05.006Z",
                        "data_transferred": 1,
                        "started_at": "2026-01-02T03:04:05.006Z"
                      },
                      "lifecycle_reasons": [
                        {
                          "code": "cloning_failed",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "mount_targets": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                      "origin_share": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "share"
                      },
                      "profile": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops",
                        "name": "tier-3iops",
                        "resource_type": "share_profile"
                      },
                      "replica_share": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "share"
                      },
                      "replication_cron_spec": "0 */5 * * *",
                      "replication_role": "none",
                      "replication_status": "active",
                      "replication_status_reasons": [
                        {
                          "code": "cannot_initialize_replication",
                          "message": "The replication failover failed because the source share cannot be reached.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                        }
                      ],
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "share",
                      "size": 200,
                      "snapshot_count": 1,
                      "snapshot_size": 1,
                      "source_share": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "share"
                      },
                      "source_snapshot": {
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "storage_generation": 1,
                      "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": 132
                },
                "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=2026-06-30&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<ShareCollection> 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": {
              "example": {
                "access_control_mode": "security_group",
                "allowed_access_protocols": [
                  "nfs4"
                ],
                "allowed_transit_encryption_modes": [
                  "ipsec"
                ],
                "bandwidth": 100,
                "encryption_key": {
                  "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                },
                "initial_owner": {
                  "gid": 50,
                  "uid": 50
                },
                "iops": 100,
                "mount_targets": [
                  {
                    "access_protocol": "nfs4",
                    "name": "my-share-mount-target",
                    "transit_encryption": "ipsec",
                    "virtual_network_interface": {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "enable_infrastructure_nat": true,
                      "ips": [
                        {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        }
                      ],
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                      },
                      "protocol_state_filtering_mode": "auto",
                      "resource_group": {
                        "id": "fee82deba12e4c0fb69c3b09d1f12345"
                      },
                      "security_groups": [
                        {
                          "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                        }
                      ],
                      "subnet": {
                        "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                      }
                    }
                  }
                ],
                "name": "my-share",
                "profile": {
                  "name": "tier-3iops"
                },
                "replica_share": {
                  "allowed_transit_encryption_modes": [
                    "ipsec"
                  ],
                  "iops": 100,
                  "mount_targets": [
                    {
                      "access_protocol": "nfs4",
                      "name": "my-share-mount-target",
                      "transit_encryption": "ipsec",
                      "virtual_network_interface": {
                        "allow_ip_spoofing": true,
                        "auto_delete": true,
                        "enable_infrastructure_nat": true,
                        "ips": [
                          {
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                          }
                        ],
                        "name": "my-virtual-network-interface",
                        "primary_ip": {
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                        },
                        "protocol_state_filtering_mode": "auto",
                        "resource_group": {
                          "id": "fee82deba12e4c0fb69c3b09d1f12345"
                        },
                        "security_groups": [
                          {
                            "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                          }
                        ],
                        "subnet": {
                          "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                        }
                      }
                    }
                  ],
                  "name": "my-share",
                  "profile": {
                    "name": "tier-3iops"
                  },
                  "replication_cron_spec": "0 */5 * * *",
                  "resource_group": {
                    "id": "fee82deba12e4c0fb69c3b09d1f12345"
                  },
                  "user_tags": [],
                  "zone": {
                    "name": "us-south-1"
                  }
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "size": 200,
                "user_tags": [],
                "zone": {
                  "name": "us-south-1"
                }
              },
              "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": "accessor",
                  "accessor_bindings": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f",
                      "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f",
                      "resource_type": "share_accessor_binding"
                    }
                  ],
                  "allowed_access_protocols": [
                    "nfs4"
                  ],
                  "allowed_transit_encryption_modes": [
                    "ipsec"
                  ],
                  "availability_mode": "regional",
                  "bandwidth": 1,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "encryption": "provider_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/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "initial_owner": {
                    "gid": 50,
                    "uid": 50
                  },
                  "iops": 100,
                  "latest_job": {
                    "status": "cancelled",
                    "status_reasons": [
                      {
                        "code": "cannot_initialize_replication",
                        "message": "The replication failover failed because the source share cannot be reached.",
                        "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                      }
                    ],
                    "type": "replication_failover"
                  },
                  "latest_sync": {
                    "completed_at": "2026-01-02T03:04:05.006Z",
                    "data_transferred": 1,
                    "started_at": "2026-01-02T03:04:05.006Z"
                  },
                  "lifecycle_reasons": [
                    {
                      "code": "cloning_failed",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mount_targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                  "origin_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops",
                    "name": "tier-3iops",
                    "resource_type": "share_profile"
                  },
                  "replica_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "replication_cron_spec": "0 */5 * * *",
                  "replication_role": "none",
                  "replication_status": "active",
                  "replication_status_reasons": [
                    {
                      "code": "cannot_initialize_replication",
                      "message": "The replication failover failed because the source share cannot be reached.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "share",
                  "size": 200,
                  "snapshot_count": 1,
                  "snapshot_size": 1,
                  "source_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "source_snapshot": {
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "storage_generation": 1,
                  "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=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"access_control_mode\": \"vpc\",\n      \"name\": \"my-share\",\n      \"profile\": {\n        \"name\": \"dp2\"\n      },\n      \"zone\": {\n        \"name\": \"us-south-1\"\n      },\n      \"size\": 4800,\n      \"mount_targets\": [\n        {\n          \"access_protocol\": \"nfs4\",\n          \"transit_encryption\": \"ipsec\",\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<Share> 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": "accessor",
                  "accessor_bindings": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f",
                      "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f",
                      "resource_type": "share_accessor_binding"
                    }
                  ],
                  "allowed_access_protocols": [
                    "nfs4"
                  ],
                  "allowed_transit_encryption_modes": [
                    "ipsec"
                  ],
                  "availability_mode": "regional",
                  "bandwidth": 1,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "encryption": "provider_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/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "initial_owner": {
                    "gid": 50,
                    "uid": 50
                  },
                  "iops": 100,
                  "latest_job": {
                    "status": "cancelled",
                    "status_reasons": [
                      {
                        "code": "cannot_initialize_replication",
                        "message": "The replication failover failed because the source share cannot be reached.",
                        "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                      }
                    ],
                    "type": "replication_failover"
                  },
                  "latest_sync": {
                    "completed_at": "2026-01-02T03:04:05.006Z",
                    "data_transferred": 1,
                    "started_at": "2026-01-02T03:04:05.006Z"
                  },
                  "lifecycle_reasons": [
                    {
                      "code": "cloning_failed",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mount_targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                  "origin_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops",
                    "name": "tier-3iops",
                    "resource_type": "share_profile"
                  },
                  "replica_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "replication_cron_spec": "0 */5 * * *",
                  "replication_role": "none",
                  "replication_status": "active",
                  "replication_status_reasons": [
                    {
                      "code": "cannot_initialize_replication",
                      "message": "The replication failover failed because the source share cannot be reached.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "share",
                  "size": 200,
                  "snapshot_count": 1,
                  "snapshot_size": 1,
                  "source_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "source_snapshot": {
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "storage_generation": 1,
                  "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=2026-06-30&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<Share> 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": "accessor",
                  "accessor_bindings": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f",
                      "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f",
                      "resource_type": "share_accessor_binding"
                    }
                  ],
                  "allowed_access_protocols": [
                    "nfs4"
                  ],
                  "allowed_transit_encryption_modes": [
                    "ipsec"
                  ],
                  "availability_mode": "regional",
                  "bandwidth": 1,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "encryption": "provider_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/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "initial_owner": {
                    "gid": 50,
                    "uid": 50
                  },
                  "iops": 100,
                  "latest_job": {
                    "status": "cancelled",
                    "status_reasons": [
                      {
                        "code": "cannot_initialize_replication",
                        "message": "The replication failover failed because the source share cannot be reached.",
                        "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                      }
                    ],
                    "type": "replication_failover"
                  },
                  "latest_sync": {
                    "completed_at": "2026-01-02T03:04:05.006Z",
                    "data_transferred": 1,
                    "started_at": "2026-01-02T03:04:05.006Z"
                  },
                  "lifecycle_reasons": [
                    {
                      "code": "cloning_failed",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mount_targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                  "origin_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops",
                    "name": "tier-3iops",
                    "resource_type": "share_profile"
                  },
                  "replica_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "replication_cron_spec": "0 */5 * * *",
                  "replication_role": "none",
                  "replication_status": "active",
                  "replication_status_reasons": [
                    {
                      "code": "cannot_initialize_replication",
                      "message": "The replication failover failed because the source share cannot be reached.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "share",
                  "size": 200,
                  "snapshot_count": 1,
                  "snapshot_size": 1,
                  "source_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "source_snapshot": {
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "storage_generation": 1,
                  "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=2026-06-30&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<Share> 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": {
                "access_control_mode": "security_group",
                "allowed_access_protocols": [
                  "nfs4"
                ],
                "allowed_transit_encryption_modes": [
                  "ipsec"
                ],
                "bandwidth": 1,
                "iops": 100,
                "name": "my-share",
                "profile": {
                  "name": "tier-3iops"
                },
                "replication_cron_spec": "0 */5 * * *",
                "size": 1,
                "user_tags": []
              },
              "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": "accessor",
                  "accessor_bindings": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f",
                      "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f",
                      "resource_type": "share_accessor_binding"
                    }
                  ],
                  "allowed_access_protocols": [
                    "nfs4"
                  ],
                  "allowed_transit_encryption_modes": [
                    "ipsec"
                  ],
                  "availability_mode": "regional",
                  "bandwidth": 1,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "encryption": "provider_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/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "id": "r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                  "initial_owner": {
                    "gid": 50,
                    "uid": 50
                  },
                  "iops": 100,
                  "latest_job": {
                    "status": "cancelled",
                    "status_reasons": [
                      {
                        "code": "cannot_initialize_replication",
                        "message": "The replication failover failed because the source share cannot be reached.",
                        "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                      }
                    ],
                    "type": "replication_failover"
                  },
                  "latest_sync": {
                    "completed_at": "2026-01-02T03:04:05.006Z",
                    "data_transferred": 1,
                    "started_at": "2026-01-02T03:04:05.006Z"
                  },
                  "lifecycle_reasons": [
                    {
                      "code": "cloning_failed",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mount_targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                  "origin_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/tier-3iops",
                    "name": "tier-3iops",
                    "resource_type": "share_profile"
                  },
                  "replica_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "replication_cron_spec": "0 */5 * * *",
                  "replication_role": "none",
                  "replication_status": "active",
                  "replication_status_reasons": [
                    {
                      "code": "cannot_initialize_replication",
                      "message": "The replication failover failed because the source share cannot be reached.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-planning"
                    }
                  ],
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "share",
                  "size": 200,
                  "snapshot_count": 1,
                  "snapshot_size": 1,
                  "source_share": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "source_snapshot": {
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "storage_generation": 1,
                  "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=2026-06-30&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<String, Object> sharePatchModelAsPatch = sharePatchModel.asPatch();\nUpdateShareOptions updateShareOptions = new UpdateShareOptions.Builder()\n  .id(shareId)\n  .sharePatch(sharePatchModelAsPatch)\n  .ifMatch(shareETag)\n  .build();\nResponse<Share> 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:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "share"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f",
                      "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f",
                      "lifecycle_state": "deleting",
                      "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20"
                  },
                  "total_count": 132
                },
                "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=2026-06-30&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=2026-06-30&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<Void> 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:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "share"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/accessor_bindings/r006-ae9bdc18-aed0-4392-841c-142d3300674f",
                  "id": "r006-ce9dac18-dea0-4392-841c-142d3300674f",
                  "lifecycle_state": "deleting",
                  "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=2026-06-30&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<ShareAccessorBinding> 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": {
              "example": {
                "fallback_policy": "fail",
                "timeout": 600
              },
              "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=2026-06-30&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<Void> 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=20"
                  },
                  "limit": 20,
                  "mount_targets": [
                    {
                      "access_control_mode": "security_group",
                      "access_protocol": "nfs4",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "10.240.1.23:/nxg_s_voll_mz7121_58e7e963_8f4b_4a0c_b71a_8ba8d9cd1e2e",
                      "name": "my-share-mount-target",
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "ipsec",
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/mount_targets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "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=2026-06-30&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<ShareMountTargetCollection> 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": {
              "example": {
                "access_protocol": "nfs4",
                "name": "my-share-mount-target",
                "transit_encryption": "ipsec",
                "virtual_network_interface": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "enable_infrastructure_nat": true,
                  "ips": [
                    {
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                    }
                  ],
                  "name": "my-virtual-network-interface",
                  "primary_ip": {
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                  },
                  "protocol_state_filtering_mode": "auto",
                  "resource_group": {
                    "id": "fee82deba12e4c0fb69c3b09d1f12345"
                  },
                  "security_groups": [
                    {
                      "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                    }
                  ],
                  "subnet": {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                }
              },
              "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",
                  "access_protocol": "nfs4",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "10.240.1.23:/nxg_s_voll_mz7121_58e7e963_8f4b_4a0c_b71a_8ba8d9cd1e2e",
                  "name": "my-share-mount-target",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "ipsec",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-share-mount-target\",\n      \"access_protocol\": \"nfs4\",\n      \"transit_encryption\": \"ipsec\",\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<ShareMountTarget> 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",
                  "access_protocol": "nfs4",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "10.240.1.23:/nxg_s_voll_mz7121_58e7e963_8f4b_4a0c_b71a_8ba8d9cd1e2e",
                  "name": "my-share-mount-target",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "ipsec",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<ShareMountTarget> 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",
                  "access_protocol": "nfs4",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "10.240.1.23:/nxg_s_voll_mz7121_58e7e963_8f4b_4a0c_b71a_8ba8d9cd1e2e",
                  "name": "my-share-mount-target",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "ipsec",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<ShareMountTarget> 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": {
              "example": {
                "name": "my-share-mount-target"
              },
              "schema": {
                "$ref": "#/components/schemas/ShareMountTargetPatch"
              }
            }
          },
          "description": "The share mount target patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_control_mode": "security_group",
                  "access_protocol": "nfs4",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "10.240.1.23:/nxg_s_voll_mz7121_58e7e963_8f4b_4a0c_b71a_8ba8d9cd1e2e",
                  "name": "my-share-mount-target",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "ipsec",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<String, Object> shareMountTargetPatchModelAsPatch = shareMountTargetPatchModel.asPatch();\nUpdateShareMountTargetOptions updateShareMountTargetOptions = new UpdateShareMountTargetOptions.Builder()\n  .shareId(shareId)\n  .id(shareMountTargetId)\n  .shareMountTargetPatch(shareMountTargetPatchModelAsPatch)\n  .build();\n\nResponse<ShareMountTarget> 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/snaphots?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "snapshots": [
                    {
                      "backup_policy_plan": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-policy-plan",
                        "remote": {
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        },
                        "resource_type": "backup_policy_plan"
                      },
                      "captured_at": "2026-01-02T03:04:05.006Z",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "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": "my-resource-group"
                      },
                      "resource_type": "share_snapshot",
                      "status": "available",
                      "status_reasons": [
                        {
                          "code": "encryption_key_deleted",
                          "message": "A failure occurred",
                          "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                        }
                      ],
                      "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": 132
                },
                "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=2026-06-30&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<ShareSnapshotsCollection> 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\n`replication_role` of `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": {
              "example": {
                "name": "my-share-snapshot",
                "user_tags": []
              },
              "schema": {
                "$ref": "#/components/schemas/ShareSnapshotPrototype"
              }
            }
          },
          "description": "The share snapshot prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "captured_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "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": "my-resource-group"
                  },
                  "resource_type": "share_snapshot",
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encryption_key_deleted",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "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=2026-06-30&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<ShareSnapshot> 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": {
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "captured_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "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": "my-resource-group"
                  },
                  "resource_type": "share_snapshot",
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encryption_key_deleted",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "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=2026-06-30&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<Snapshot> 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": {
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "captured_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "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": "my-resource-group"
                  },
                  "resource_type": "share_snapshot",
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encryption_key_deleted",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "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=2026-06-30&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<ShareSnapshot> 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": {
              "example": {
                "name": "my-share-snapshot",
                "user_tags": []
              },
              "schema": {
                "$ref": "#/components/schemas/ShareSnapshotPatch"
              }
            }
          },
          "description": "The share snapshot patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "captured_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "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": "my-resource-group"
                  },
                  "resource_type": "share_snapshot",
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encryption_key_deleted",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "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=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{ \"user_tags\": [ \"my-daily-snapshot-plan\" ] }'"
                    ],
                    "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<String, Object> shareSnapshotPatchModelAsPatch = shareSnapshotPatchModel.asPatch();\nUpdateShareSnapshotOptions updateShareSnapshotOptions = new UpdateShareSnapshotOptions.Builder()\n  .shareId(shareId)\n  .id(shareSnapshotId)\n  .shareSnapshotPatch(shareSnapshotPatchModelAsPatch)\n  .build();\n\nResponse<ShareSnapshot> 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=2026-06-30&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<Void> 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",
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "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",
                  "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": "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=2026-06-30&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<Share> 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"
          },
          {
            "$ref": "#/components/parameters/snapshotConsistencyGroupBackupPolicyJobId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "snapshot_consistency_groups": [
                    {
                      "backup_policy_job": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "resource_type": "backup_policy_job"
                      },
                      "backup_policy_plan": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-policy-plan",
                        "remote": {
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        },
                        "resource_type": "backup_policy_plan"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "my-resource-group"
                      },
                      "resource_type": "snapshot_consistency_group",
                      "service_tags": [],
                      "snapshots": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                          "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": "snapshot"
                        }
                      ]
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<SnapshotConsistencyGroupCollection> 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": {
              "example": {
                "delete_snapshots_on_delete": true,
                "name": "my-snapshot-consistency-group",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "snapshots": [
                  {
                    "name": "my-snapshot",
                    "source_volume": {
                      "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                    },
                    "user_tags": []
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/SnapshotConsistencyGroupPrototype"
              }
            }
          },
          "description": "The snapshot consistency group prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "backup_policy_job": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "backup_policy_job"
                  },
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "resource_type": "snapshot_consistency_group",
                  "service_tags": [],
                  "snapshots": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "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=2026-06-30&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<Snapshot> 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": {
                  "backup_policy_job": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "backup_policy_job"
                  },
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "resource_type": "snapshot_consistency_group",
                  "service_tags": [],
                  "snapshots": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "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=2026-06-30&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<Void> 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": {
                  "backup_policy_job": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "backup_policy_job"
                  },
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "resource_type": "snapshot_consistency_group",
                  "service_tags": [],
                  "snapshots": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "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=2026-06-30&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<SnapshotConsistencyGroup> 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": true,
                "name": "my-snapshot-consistency-group"
              },
              "schema": {
                "$ref": "#/components/schemas/SnapshotConsistencyGroupPatch"
              }
            }
          },
          "description": "The snapshot consistency group patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "backup_policy_job": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "resource_type": "backup_policy_job"
                  },
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "resource_type": "snapshot_consistency_group",
                  "service_tags": [],
                  "snapshots": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "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=2026-06-30&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<String, Object> snapshotConsistencyGroupPatchModelAsPatch = snapshotConsistencyGroupPatchModel.asPatch();\nUpdateSnapshotConsistencyGroupOptions updateSnapshotConsistencyGroupOptions = new UpdateSnapshotConsistencyGroupOptions.Builder()\n  .id(snapshotConsistencyGroupID)\n  .snapshotConsistencyGroupPatch(snapshotConsistencyGroupPatchModelAsPatch)\n  .build();\nResponse<Snapshot> 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=2026-06-30&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<Void> 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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "snapshots": [
                    {
                      "allowed_use": {
                        "api_version": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true",
                        "instance": "gpu.count > 0 && enable_secure_boot == true"
                      },
                      "backup_policy_plan": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-policy-plan",
                        "remote": {
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        },
                        "resource_type": "backup_policy_plan"
                      },
                      "bootable": true,
                      "captured_at": "2026-01-02T03:04:05.006Z",
                      "catalog_offering": {
                        "plan": {
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          }
                        },
                        "version": {
                          "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"
                        }
                      },
                      "clones": [
                        {
                          "available": true,
                          "created_at": "2026-01-02T03:04:05.006Z",
                          "zone": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                            "name": "us-south-1"
                          }
                        }
                      ],
                      "copies": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                          "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": "snapshot"
                        }
                      ],
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deletable": true,
                      "encryption": "provider_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": "deleting",
                      "minimum_capacity": 1,
                      "name": "my-snapshot",
                      "operating_system": {
                        "allow_user_image_creation": true,
                        "architecture": "amd64",
                        "dedicated_host_only": true,
                        "display_name": "Ubuntu Server 16.04 LTS amd64",
                        "family": "Ubuntu Server",
                        "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": "16.04 LTS"
                      },
                      "progress": 55,
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "snapshot",
                      "service_tags": [],
                      "size": 1,
                      "snapshot_consistency_group": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "source_image": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "image"
                      },
                      "source_snapshot": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "snapshot"
                      },
                      "source_volume": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "remote": {
                          "region": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                            "name": "us-south"
                          }
                        },
                        "resource_type": "volume"
                      },
                      "storage_generation": 1,
                      "user_tags": []
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<SnapshotCollection> 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": {
              "example": {
                "allowed_use": {
                  "api_version": "2024-06-23",
                  "bare_metal_server": "enable_secure_boot == true",
                  "instance": "gpu.count > 0 && enable_secure_boot == true"
                },
                "clones": [
                  {
                    "zone": {
                      "name": "us-south-1"
                    }
                  }
                ],
                "name": "my-snapshot",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "source_volume": {
                  "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5"
                },
                "user_tags": []
              },
              "schema": {
                "$ref": "#/components/schemas/SnapshotPrototype"
              }
            }
          },
          "description": "The snapshot prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "bootable": true,
                  "captured_at": "2026-01-02T03:04:05.006Z",
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "clones": [
                    {
                      "available": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    }
                  ],
                  "copies": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "snapshot"
                    }
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                  "deletable": true,
                  "encryption": "provider_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": "deleting",
                  "minimum_capacity": 1,
                  "name": "my-snapshot",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "progress": 55,
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "snapshot",
                  "service_tags": [],
                  "size": 1,
                  "snapshot_consistency_group": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "source_image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "source_snapshot": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "snapshot"
                  },
                  "source_volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "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=2026-06-30&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<Snapshot> 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=2026-06-30&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<Void> 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": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "bootable": true,
                  "captured_at": "2026-01-02T03:04:05.006Z",
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "clones": [
                    {
                      "available": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    }
                  ],
                  "copies": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "snapshot"
                    }
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                  "deletable": true,
                  "encryption": "provider_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": "deleting",
                  "minimum_capacity": 1,
                  "name": "my-snapshot",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "progress": 55,
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "snapshot",
                  "service_tags": [],
                  "size": 1,
                  "snapshot_consistency_group": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "source_image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "source_snapshot": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "snapshot"
                  },
                  "source_volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "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=2026-06-30&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<Snapshot> 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": {
                "allowed_use": {
                  "api_version": "2024-06-23",
                  "bare_metal_server": "enable_secure_boot == true",
                  "instance": "gpu.count > 0 && enable_secure_boot == true"
                },
                "name": "my-snapshot",
                "user_tags": []
              },
              "schema": {
                "$ref": "#/components/schemas/SnapshotPatch"
              }
            }
          },
          "description": "The snapshot patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "backup_policy_plan": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-policy-plan",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "resource_type": "backup_policy_plan"
                  },
                  "bootable": true,
                  "captured_at": "2026-01-02T03:04:05.006Z",
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "clones": [
                    {
                      "available": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    }
                  ],
                  "copies": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "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": "snapshot"
                    }
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                  "deletable": true,
                  "encryption": "provider_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": "deleting",
                  "minimum_capacity": 1,
                  "name": "my-snapshot",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "progress": 55,
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "snapshot",
                  "service_tags": [],
                  "size": 1,
                  "snapshot_consistency_group": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot-consistency-group:r006-fa329f6b-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "source_image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "source_snapshot": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "snapshot"
                  },
                  "source_volume": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "remote": {
                      "region": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
                        "name": "us-south"
                      }
                    },
                    "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=2026-06-30&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<String, Object> snapshotPatchModelAsPatch = snapshotPatchModel.asPatch();\n\nUpdateSnapshotOptions updateSnapshotOptions = new UpdateSnapshotOptions.Builder()\n  .id(snapshotID)\n  .snapshotPatch(snapshotPatchModelAsPatch)\n  .build();\n\nResponse<Snapshot> 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": "2026-01-02T03:04:05.006Z",
                      "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=2026-06-30&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<SnapshotCloneCollection> 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=2026-06-30&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<Void> 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": "2026-01-02T03:04:05.006Z",
                  "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=2026-06-30&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<SnapshotClone> 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": "2026-01-02T03:04:05.006Z",
                  "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": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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=2026-06-30&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<SnapshotClone> 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=20"
                  },
                  "instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "resource_type": "instance_profile"
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "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=2026-06-30&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<InstanceProfileCollection> 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,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "subnets": [
                    {
                      "available_ipv4_address_count": 15,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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.0.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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "public_gateway": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-1",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": 132
                },
                "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=2026-06-30&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<SubnetCollection> 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": {
                "ip_version": "ipv4",
                "name": "my-subnet",
                "network_acl": {
                  "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf"
                },
                "public_gateway": {
                  "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241"
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "routing_table": {
                  "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840"
                },
                "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": 15,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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.0.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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "public_gateway": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-1",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<Subnet> 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=2026-06-30&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<Void> 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": 15,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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.0.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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "public_gateway": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-1",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<Subnet> 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": {
              "example": {
                "name": "my-subnet",
                "network_acl": {
                  "id": "r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf"
                },
                "public_gateway": {
                  "id": "r006-dc5431ef-1fc6-4861-adc9-a59d077d1241"
                },
                "routing_table": {
                  "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/SubnetPatch"
              }
            }
          },
          "description": "The subnet patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "available_ipv4_address_count": 15,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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.0.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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "public_gateway": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::public-gateway:r006-dc5431ef-1fc6-4861-adc9-a59d077d1241",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-1",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<Subnet> 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": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "action": "allow",
                      "before": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-network-acl-rule"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "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-network-acl-rule",
                      "protocol": "ah",
                      "source": "192.168.3.0/24"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<NetworkACL> 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": "2026-01-02T03:04:05.006Z",
                  "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": "my-resource-group"
                  },
                  "rules": [
                    {
                      "action": "allow",
                      "before": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-network-acl-rule"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "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-network-acl-rule",
                      "protocol": "ah",
                      "source": "192.168.3.0/24"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\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<NetworkACL> 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=2026-06-30&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<Void> 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": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "public_gateway",
                  "status": "available",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<PublicGateway> 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": "2026-01-02T03:04:05.006Z",
                  "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": "my-resource-group"
                  },
                  "resource_type": "public_gateway",
                  "status": "available",
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<PublicGateway> 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_server"
                    }
                  ],
                  "advertise_routes_to": [
                    "transit_gateway",
                    "direct_link"
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-routing-table-1",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "routing_table",
                  "route_direct_link_ingress": true,
                  "route_internet_ingress": true,
                  "route_transit_gateway_ingress": true,
                  "route_vpc_zone_ingress": true,
                  "routes": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "name": "my-vpc-routing-table-route"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ]
                },
                "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=2026-06-30&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<RoutingTable> 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": {
              "example": {
                "id": "r006-6885e83f-03b2-4603-8a86-db2a0f55c840"
              },
              "schema": {
                "$ref": "#/components/schemas/RoutingTableIdentity"
              }
            }
          },
          "description": "The routing table identity",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "accept_routes_from": [
                    {
                      "resource_type": "vpn_server"
                    }
                  ],
                  "advertise_routes_to": [
                    "transit_gateway",
                    "direct_link"
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-routing-table-1",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "routing_table",
                  "route_direct_link_ingress": true,
                  "route_internet_ingress": true,
                  "route_transit_gateway_ingress": true,
                  "route_vpc_zone_ingress": true,
                  "routes": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "name": "my-vpc-routing-table-route"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ]
                },
                "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=2026-06-30&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<RoutingTable> 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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-b28a7e6d-a66b-4de7-8713-15dcffdce401/reserved_ips?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "reserved_ips": [
                    {
                      "address": "192.168.3.4",
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "lifecycle_state": "deleting",
                      "name": "my-reserved-ip",
                      "owner": "provider",
                      "resource_type": "subnet_reserved_ip",
                      "target": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      }
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<ReservedIPCollection> 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": {
              "example": {
                "address": "192.168.3.4",
                "auto_delete": true,
                "name": "my-reserved-ip",
                "target": {
                  "id": "r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ReservedIPPrototype"
              }
            }
          },
          "description": "The reserved IP prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "address": "192.168.3.4",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "lifecycle_state": "deleting",
                  "name": "my-reserved-ip",
                  "owner": "provider",
                  "resource_type": "subnet_reserved_ip",
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "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=2026-06-30&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<ReservedIP> 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=2026-06-30&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<Void> 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": "192.168.3.4",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "lifecycle_state": "deleting",
                  "name": "my-reserved-ip",
                  "owner": "provider",
                  "resource_type": "subnet_reserved_ip",
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "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=2026-06-30&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<ReservedIP> 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": {
                "auto_delete": true,
                "name": "my-reserved-ip"
              },
              "schema": {
                "$ref": "#/components/schemas/ReservedIPPatch"
              }
            }
          },
          "description": "The reserved IP patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "address": "192.168.3.4",
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "lifecycle_state": "deleting",
                  "name": "my-reserved-ip",
                  "owner": "provider",
                  "resource_type": "subnet_reserved_ip",
                  "target": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::endpoint-gateway:r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  }
                },
                "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=2026-06-30&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<ReservedIP> 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": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/virtual_network_interfaces?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132,
                  "virtual_network_interfaces": [
                    {
                      "allow_ip_spoofing": true,
                      "auto_delete": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef",
                      "enable_infrastructure_nat": true,
                      "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": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "resource_type": "subnet_reserved_ip"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "mac_address": "02:00:4D:45:45:4D",
                      "name": "my-virtual-network-interface",
                      "primary_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "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": "my-resource-group"
                      },
                      "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "target": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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=2026-06-30&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<VirtualNetworkInterfaceCollection> 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": {
                "allow_ip_spoofing": true,
                "auto_delete": true,
                "enable_infrastructure_nat": true,
                "ips": [
                  {
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                  }
                ],
                "name": "my-virtual-network-interface",
                "primary_ip": {
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb"
                },
                "protocol_state_filtering_mode": "auto",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "security_groups": [
                  {
                    "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                  }
                ],
                "subnet": {
                  "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/VirtualNetworkInterfacePrototype"
              }
            }
          },
          "description": "The virtual network interface prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef",
                  "enable_infrastructure_nat": true,
                  "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-virtual-network-interface",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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": "my-resource-group"
                  },
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "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=2026-06-30&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<VirtualNetworkInterface> 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",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef",
                  "enable_infrastructure_nat": true,
                  "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-virtual-network-interface",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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": "my-resource-group"
                  },
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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."
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value of the virtual\nnetwork interface."
          }
        },
        "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=2026-06-30&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<void> 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": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef",
                  "enable_infrastructure_nat": true,
                  "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-virtual-network-interface",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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": "my-resource-group"
                  },
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "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=2026-06-30&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<VirtualNetworkInterface> 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",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "allow_ip_spoofing": true,
                "auto_delete": true,
                "enable_infrastructure_nat": true,
                "name": "my-virtual-network-interface",
                "protocol_state_filtering_mode": "auto"
              },
              "schema": {
                "$ref": "#/components/schemas/VirtualNetworkInterfacePatch"
              }
            }
          },
          "description": "The virtual network interface patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "allow_ip_spoofing": true,
                  "auto_delete": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::virtual-network-interface:0717-54eb57ee-86f2-4796-90bb-d7874e0831ef",
                  "enable_infrastructure_nat": true,
                  "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": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "mac_address": "02:00:4D:45:45:4D",
                  "name": "my-virtual-network-interface",
                  "primary_ip": {
                    "address": "192.168.3.4",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                    "name": "my-reserved-ip",
                    "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": "my-resource-group"
                  },
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "target": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "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."
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The provided `If-Match` value does not match the current ETag value of the virtual\nnetwork interface."
          }
        },
        "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=2026-06-30&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<String, Object> virtualNetworkInterfacePatchModelAsPatch = virtualNetworkInterfacePatchModel.asPatch();\nUpdateVirtualNetworkInterfaceOptions updateVirtualNetworkInterfaceOptions = new UpdateVirtualNetworkInterfaceOptions.Builder()\n  .id(virtualNetworkInterfaceId)\n  .virtualNetworkInterfacePatch(virtualNetworkInterfacePatchModelAsPatch)\n  .build();\n\nResponse<VirtualNetworkInterface> 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-fa41aecb-4f21-423d-8082-630bfba1e1d9/floating_ips?limit=20"
                  },
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": 20,
                  "next": {
                    "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": 132
                },
                "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=2026-06-30&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<FloatingIPCollectionVirtualNetworkInterfaceContext> 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=2026-06-30&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<Void> 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",
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "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=2026-06-30&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<FloatingIPReference> 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",
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "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",
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "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=2026-06-30&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<FloatingIPReference> 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=20"
                  },
                  "ips": [
                    {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "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": 132
                },
                "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=2026-06-30&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<ReservedIPCollectionVirtualNetworkInterfaceContext> 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=2026-06-30&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<Void> 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": "192.168.3.4",
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "name": "my-reserved-ip",
                  "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=2026-06-30&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<ReservedIPReference> 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.\n\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": "192.168.3.4",
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "name": "my-reserved-ip",
                  "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": "192.168.3.4",
                  "deleted": {
                    "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                  },
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                  "name": "my-reserved-ip",
                  "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=2026-06-30&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<ReservedIPReference> 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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "profiles": [
                    {
                      "adjustable_capacity_states": {
                        "type": "enum",
                        "values": [
                          "attached",
                          "unattached"
                        ]
                      },
                      "adjustable_iops_states": {
                        "type": "enum",
                        "values": [
                          "attached",
                          "unattached"
                        ]
                      },
                      "bandwidth": {
                        "type": "fixed",
                        "value": 4000
                      },
                      "boot_capacity": {
                        "type": "fixed",
                        "value": 20000
                      },
                      "capacity": {
                        "type": "fixed",
                        "value": 20000
                      },
                      "family": "custom",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
                      "iops": {
                        "type": "fixed",
                        "value": 10000
                      },
                      "name": "general-purpose",
                      "storage_generation": {
                        "type": "fixed",
                        "value": 1
                      }
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<VolumeProfileCollection> 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",
                      "unattached"
                    ]
                  },
                  "adjustable_iops_states": {
                    "type": "enum",
                    "values": [
                      "attached",
                      "unattached"
                    ]
                  },
                  "bandwidth": {
                    "type": "fixed",
                    "value": 4000
                  },
                  "boot_capacity": {
                    "type": "fixed",
                    "value": 20000
                  },
                  "capacity": {
                    "type": "fixed",
                    "value": 20000
                  },
                  "family": "custom",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
                  "iops": {
                    "type": "fixed",
                    "value": 10000
                  },
                  "name": "general-purpose",
                  "storage_generation": {
                    "type": "fixed",
                    "value": 1
                  }
                },
                "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=2026-06-30&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<VolumeProfile> 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/volumeStorageGeneration"
          },
          {
            "$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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132,
                  "volumes": [
                    {
                      "active": true,
                      "adjustable_capacity_states": [
                        "attached",
                        "unattached"
                      ],
                      "adjustable_iops_states": [
                        "attached",
                        "unattached"
                      ],
                      "allowed_use": {
                        "api_version": "2024-06-23",
                        "bare_metal_server": "enable_secure_boot == true",
                        "instance": "gpu.count > 0 && enable_secure_boot == true"
                      },
                      "attachment_state": "attached",
                      "bandwidth": 1000,
                      "busy": true,
                      "capacity": 1000,
                      "catalog_offering": {
                        "plan": {
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          }
                        },
                        "version": {
                          "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"
                        }
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                      "encryption": "provider_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": [
                        {
                          "code": "initializing_from_snapshot",
                          "message": "Performance will be degraded while this volume is being initialized from its snapshot",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-troubleshooting&interface=ui#snapshot_ts_degraded_perf"
                        }
                      ],
                      "health_state": "degraded",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                      "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                      "iops": 10000,
                      "name": "my-volume",
                      "operating_system": {
                        "allow_user_image_creation": true,
                        "architecture": "amd64",
                        "dedicated_host_only": true,
                        "display_name": "Ubuntu Server 16.04 LTS amd64",
                        "family": "Ubuntu Server",
                        "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": "16.04 LTS"
                      },
                      "profile": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
                        "name": "general-purpose"
                      },
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "volume",
                      "source_image": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "image"
                      },
                      "source_snapshot": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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": "snapshot"
                      },
                      "status": "available",
                      "status_reasons": [
                        {
                          "code": "encryption_key_deleted",
                          "message": "A failure occurred",
                          "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                        }
                      ],
                      "storage_generation": 1,
                      "user_tags": [],
                      "volume_attachments": [
                        {
                          "delete_volume_on_instance_delete": true,
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                          "instance": {
                            "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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": "boot"
                        }
                      ],
                      "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=2026-06-30&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<VolumeCollection> 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": {
                "bandwidth": 1000,
                "capacity": 100,
                "encryption_key": {
                  "crn": "crn:v1:bluemix:public:kms:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
                },
                "iops": 10000,
                "name": "my-volume",
                "profile": {
                  "name": "general-purpose"
                },
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "user_tags": [],
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/VolumePrototype"
              }
            }
          },
          "description": "The volume prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "adjustable_capacity_states": [
                    "attached",
                    "unattached"
                  ],
                  "adjustable_iops_states": [
                    "attached",
                    "unattached"
                  ],
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "attachment_state": "attached",
                  "bandwidth": 1000,
                  "busy": true,
                  "capacity": 1000,
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "encryption": "provider_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": [
                    {
                      "code": "initializing_from_snapshot",
                      "message": "Performance will be degraded while this volume is being initialized from its snapshot",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-troubleshooting&interface=ui#snapshot_ts_degraded_perf"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "iops": 10000,
                  "name": "my-volume",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
                    "name": "general-purpose"
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "volume",
                  "source_image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "source_snapshot": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "snapshot"
                  },
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encryption_key_deleted",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "storage_generation": 1,
                  "user_tags": [],
                  "volume_attachments": [
                    {
                      "delete_volume_on_instance_delete": true,
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "instance": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "boot"
                    }
                  ],
                  "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=2026-06-30&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<Volume> 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=2026-06-30&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<Void> 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": true,
                  "adjustable_capacity_states": [
                    "attached",
                    "unattached"
                  ],
                  "adjustable_iops_states": [
                    "attached",
                    "unattached"
                  ],
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "attachment_state": "attached",
                  "bandwidth": 1000,
                  "busy": true,
                  "capacity": 1000,
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "encryption": "provider_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": [
                    {
                      "code": "initializing_from_snapshot",
                      "message": "Performance will be degraded while this volume is being initialized from its snapshot",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-troubleshooting&interface=ui#snapshot_ts_degraded_perf"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "iops": 10000,
                  "name": "my-volume",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
                    "name": "general-purpose"
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "volume",
                  "source_image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "source_snapshot": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "snapshot"
                  },
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encryption_key_deleted",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "storage_generation": 1,
                  "user_tags": [],
                  "volume_attachments": [
                    {
                      "delete_volume_on_instance_delete": true,
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "instance": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "boot"
                    }
                  ],
                  "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=2026-06-30&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<Volume> 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": {
              "example": {
                "allowed_use": {
                  "api_version": "2024-06-23",
                  "bare_metal_server": "enable_secure_boot == true",
                  "instance": "gpu.count > 0 && enable_secure_boot == true"
                },
                "bandwidth": 1000,
                "capacity": 100,
                "iops": 10000,
                "name": "my-volume",
                "profile": {
                  "name": "general-purpose"
                },
                "user_tags": []
              },
              "schema": {
                "$ref": "#/components/schemas/VolumePatch"
              }
            }
          },
          "description": "The volume patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "active": true,
                  "adjustable_capacity_states": [
                    "attached",
                    "unattached"
                  ],
                  "adjustable_iops_states": [
                    "attached",
                    "unattached"
                  ],
                  "allowed_use": {
                    "api_version": "2024-06-23",
                    "bare_metal_server": "enable_secure_boot == true",
                    "instance": "gpu.count > 0 && enable_secure_boot == true"
                  },
                  "attachment_state": "attached",
                  "bandwidth": 1000,
                  "busy": true,
                  "capacity": 1000,
                  "catalog_offering": {
                    "plan": {
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      }
                    },
                    "version": {
                      "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"
                    }
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::volume:r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "encryption": "provider_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": [
                    {
                      "code": "initializing_from_snapshot",
                      "message": "Performance will be degraded while this volume is being initialized from its snapshot",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-troubleshooting&interface=ui#snapshot_ts_degraded_perf"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "id": "r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5",
                  "iops": 10000,
                  "name": "my-volume",
                  "operating_system": {
                    "allow_user_image_creation": true,
                    "architecture": "amd64",
                    "dedicated_host_only": true,
                    "display_name": "Ubuntu Server 16.04 LTS amd64",
                    "family": "Ubuntu Server",
                    "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": "16.04 LTS"
                  },
                  "profile": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
                    "name": "general-purpose"
                  },
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "volume",
                  "source_image": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::image:r006-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "image"
                  },
                  "source_snapshot": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::snapshot:r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "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": "snapshot"
                  },
                  "status": "available",
                  "status_reasons": [
                    {
                      "code": "encryption_key_deleted",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/key-protect?topic=key-protect-restore-keys"
                    }
                  ],
                  "storage_generation": 1,
                  "user_tags": [],
                  "volume_attachments": [
                    {
                      "delete_volume_on_instance_delete": true,
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "instance": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::instance:0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": "boot"
                    }
                  ],
                  "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=2026-06-30&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<Volume> 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=20"
                  },
                  "instance_profiles": [
                    {
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
                      "name": "bx2-4x16",
                      "resource_type": "instance_profile"
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "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=2026-06-30&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<InstanceProfileCollection> 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"
        }
      ]
    },
    "/volumes/{volume_id}/jobs": {
      "get": {
        "description": "This request lists jobs for a volume. Each job represents an action performed on the\nvolume and includes metadata such as:\n\n- `job_type`: Currently, only the `migrate` job type is supported.\n- `status`: Indicates the current state of the job (e.g., queued, running,\n   succeeded, failed).\n\nThe jobs will be sorted by their `created_at` property values, with newest jobs first.",
        "operationId": "list_volume_jobs",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs?limit=20"
                  },
                  "jobs": [
                    {
                      "auto_delete": true,
                      "completed_at": "2026-01-02T03:04:05.006Z",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "estimated_completion_at": "2026-01-02T03:04:05.006Z",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                      "id": "r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                      "job_type": "migrate",
                      "name": "my-volume-job",
                      "parameters": {
                        "bandwidth": 1000,
                        "iops": 10000,
                        "profile": {
                          "name": "general-purpose"
                        }
                      },
                      "resource_type": "volume_job",
                      "started_at": "2026-01-02T03:04:05.006Z",
                      "status": "canceled",
                      "status_reasons": [
                        {
                          "code": "instance_powered_off",
                          "message": "A failure occurred",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage"
                        }
                      ]
                    }
                  ],
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeJobCollection"
                }
              }
            },
            "description": "The volume jobs were retrieved successfully."
          }
        },
        "summary": "List jobs for a volume",
        "tags": [
          "Volumes"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.volume.volume-job.list"
            }
          ]
        },
        "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/jobs?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "listVolumeJobsOptions := &vpcv1.ListVolumeJobsOptions{\nVolumeID: core.StringPtr(volumeID),\nLimit: core.Int64Ptr(int64(10)),\n}\npager, err := vpcService.NewVolumeJobsPager(listVolumeJobsOptions)\nif err != nil {\n    panic(err)\n}\nvar allResults []vpcv1.VolumeJobInfo\nfor pager.HasNext() {\n    nextPage, err := pager.GetNext()\n    if err != nil {\n        panic(err)\n    }\n    allResults = append(allResults, nextPage...)\n}\nb, _ := json.MarshalIndent(allResults, \"\", \"  \")\nfmt.Println(string(b))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListVolumeJobsOptions listVolumeJobsOptions = new ListVolumeJobsOptions.Builder()\n  .volumeId(volumeId)\n  .limit(Long.valueOf(\"10\"))\n  .build();\n\nVolumeJobsPager pager = new VolumeJobsPager(vpcService, listVolumeJobsOptions);\nList<VolumeJob> allResults = new ArrayList<>();\nwhile (pager.hasNext()) {\n  List<VolumeJob> nextPage = pager.getNext();\n  allResults.addAll(nextPage);\n}\nSystem.out.println(GsonSingleton.getGson().toJson(allResults));"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const listVolumeJobsParams = {volumeId,};\nconst listVolumeJobsResult = vpcService.listVolumeJobs(listVolumeJobsParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "all_results = []\npager = VolumeJobsPager(\n  client=vpc_service,\n  volume_id=volume_id,\n  limit=10\n)\nwhile pager.has_next():\n  next_page = pager.get_next()\n  all_results.extend(next_page)\nprint(json.dumps(all_results, indent=2))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/volumeId"
        },
        {
          "$ref": "#/components/parameters/start"
        },
        {
          "$ref": "#/components/parameters/limit"
        }
      ],
      "post": {
        "description": "This request creates and queues a new job for the volume specified in the URL using the\nvolume job prototype object.",
        "operationId": "create_volume_job",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "job_type": "migrate",
                "name": "my-volume-job",
                "parameters": {
                  "bandwidth": 1000,
                  "iops": 10000,
                  "profile": {
                    "name": "general-purpose"
                  }
                }
              },
              "schema": {
                "$ref": "#/components/schemas/VolumeJobPrototype"
              }
            }
          },
          "description": "The volume job prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "auto_delete": true,
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "estimated_completion_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "id": "r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "job_type": "migrate",
                  "name": "my-volume-job",
                  "parameters": {
                    "bandwidth": 1000,
                    "iops": 10000,
                    "profile": {
                      "name": "general-purpose"
                    }
                  },
                  "resource_type": "volume_job",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "canceled",
                  "status_reasons": [
                    {
                      "code": "instance_powered_off",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeJob"
                }
              }
            },
            "description": "The volume job was created successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid volume job prototype object was provided, or the volume has a profile that\ncannot be migrated."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The job is not allowed to be created for this volume."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume job conflicts with another job for the volume, or the specified volume\ncannot be migrated in its current state."
          }
        },
        "summary": "Create a job for a volume",
        "tags": [
          "Volumes"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.volume.volume.update"
            },
            {
              "name": "is.volume.volume-job.create"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.volume.volume.update"
            },
            {
              "name": "is.volume.volume-job.create"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n\"$vpc_api_endpoint/v1/volumes/$volume_id/jobs?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"job_type\": \"migrate\",\n      \"name\": \"my-volume-migrate-job\",\n      \"parameters\":{\n        \"profile\":{\n          \"name\":\"sdp\"\n        }\n      }\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "volumeProfileIdentityModel := &vpcv1.VolumeProfileIdentityByName{\n    Name: core.StringPtr(\"sdp\"),\n}\nvolumeJobTypeMigrateParametersModel := &vpcv1.VolumeJobTypeMigrateParameters{\n    Profile: volumeProfileIdentityModel,\n}\nvolumeJobPrototypeModel := &vpcv1.VolumeJobPrototypeVolumeJobTypeMigratePrototype{\n    JobType: core.StringPtr(\"migrate\"),\n    Parameters: volumeJobTypeMigrateParametersModel,\n}\ncreateVolumeJobOptions := vpcService.NewCreateVolumeJobOptions(\n    volumeID,\n    volumeJobPrototypeModel,\n)\nvolumeJob, response, err := vpcService.CreateVolumeJob(createVolumeJobOptions)\nif err != nil {\n    panic(err)\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "VolumeProfileIdentityByName volumeProfileIdentityModel = new VolumeProfileIdentityByName.Builder()\n  .name(\"sdp\")\n  .build();\nVolumeJobTypeMigrateParameters volumeJobTypeMigrateParametersModel = new VolumeJobTypeMigrateParameters.Builder()\n  .profile(volumeProfileIdentityModel)\n  .build();\nVolumeJobPrototypeVolumeJobTypeMigratePrototype volumeJobPrototypeModel = new VolumeJobPrototypeVolumeJobTypeMigratePrototype.Builder()\n  .jobType(\"migrate\")\n  .parameters(volumeJobTypeMigrateParametersModel)\n  .build();\nCreateVolumeJobOptions createVolumeJobOptions = new CreateVolumeJobOptions.Builder()\n  .volumeId(volumeId)\n  .volumeJobPrototype(volumeJobPrototypeModel)\n  .build();\n\nResponse<VolumeJob> response = vpcService.createVolumeJob(createVolumeJobOptions).execute();\nVolumeJob volumeJob = response.getResult();\n\nSystem.out.println(volumeJob);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const volumeProfileIdentityModel = {\n  name: 'sdp',\n};\n\nconst volumeJobTypeMigrateParametersModel = {\n  profile: volumeProfileIdentityModel,\n};\n\nconst volumeJobPrototypeModel = {\n  job_type: 'migrate',\n  parameters: volumeJobTypeMigrateParametersModel,\n};\n\nconst params = {\n  volumeId: volumeId,\n  volumeJobPrototype: volumeJobPrototypeModel,\n};\n\nlet res;\ntry {\n  res = await vpcService.createVolumeJob(params);\n  console.log(JSON.stringify(res.result, null, 2));\n} catch (err) {\n  console.warn(err);\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "volume_profile_identity_model = {'name': 'sdp'}\nvolume_job_type_migrate_parameters_model = {\n  'profile': volume_profile_identity_model\n}\n\nvolume_job_prototype_model = {\n  'job_type': 'migrate',\n  'parameters': volume_job_type_migrate_parameters_model\n  }\nresponse = vpc_service.create_volume_job(\n  volume_id=volume_id,\n  volume_job_prototype=volume_job_prototype_model\n)\n\nvolume_job = response.get_result()\nprint(json.dumps(volume_job, indent=2))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/volumes/{volume_id}/jobs/{id}": {
      "delete": {
        "description": "This request deletes a volume job. This operation cannot be reversed. If the job\nhas not completed, the job will be canceled, and the incomplete volume job will be\ndeleted.",
        "operationId": "delete_volume_job",
        "responses": {
          "202": {
            "description": "The volume job deletion request was accepted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified volume job could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume job cannot be deleted while in `running` state."
          }
        },
        "summary": "Delete a volume job",
        "tags": [
          "Volumes"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.volume.volume-job.delete"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.volume.volume.update"
            },
            {
              "name": "is.volume.volume-job.delete"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n\"$vpc_api_endpoint/v1/volumes/$volume_id/jobs/$job_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "deleteVolumeJobOptions := vpcService.NewDeleteVolumeJobOptions(\n    volumeID,\n    volumeJobID,\n)\nresponse, err := vpcService.DeleteVolumeJob(deleteVolumeJobOptions)\nif err != nil {\n    panic(err)\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "DeleteVolumeJobOptions deleteVolumeJobOptions = new DeleteVolumeJobOptions.Builder()\n  .volumeId(volumeId)\n  .id(volumeJobId)\n  .build();\n\nResponse<Void> response = vpcService.deleteVolumeJob(deleteVolumeJobOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const deleteVolumeJobParams = {\n  volumeId,\n  volumeJobId,\n};\n\nconst deleteVolumeJobResult = vpcService.deleteVolumeJob(deleteVolumeJobParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.delete_volume_job(\n  volume_id=volume_id,\n  id=volume_job_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request retrieves a single volume job specified by the identifier in the URL.",
        "operationId": "get_volume_job",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "auto_delete": true,
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "estimated_completion_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "id": "r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "job_type": "migrate",
                  "name": "my-volume-job",
                  "parameters": {
                    "bandwidth": 1000,
                    "iops": 10000,
                    "profile": {
                      "name": "general-purpose"
                    }
                  },
                  "resource_type": "volume_job",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "canceled",
                  "status_reasons": [
                    {
                      "code": "instance_powered_off",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeJob"
                }
              }
            },
            "description": "The volume job was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified volume job could not be found."
          }
        },
        "summary": "Retrieve a volume job",
        "tags": [
          "Volumes"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.volume.volume-job.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/jobs/$job_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "getVolumeJobOptions := vpcService.NewGetVolumeJobOptions(\n    volumeID,\n    volumeJobID,\n)\nvolumeJob, response, err := vpcService.GetVolumeJob(getVolumeJobOptions)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetVolumeJobOptions getVolumeJobOptions = new GetVolumeJobOptions.Builder()\n  .volumeId(volumeId)\n  .id(volumeJobId)\n  .build();\n\nResponse<VolumeJob> response = vpcService.getVolumeJob(getVolumeJobOptions).execute();\nVolumeJob volumeJob = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const getVolumeJobParams = {\n  volumeId,\n  volumeJobId,\n};\n\nconst getVolumeJobResult = vpcService.getVolumeJob(getVolumeJobParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = _service.get_volume_job(\n  volume_id=volume_id,\n  id=volume_job_id,\n  headers={}\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/volumeId"
        },
        {
          "$ref": "#/components/parameters/volumeJobIdUnqualified"
        }
      ],
      "patch": {
        "description": "This request updates an volume job with the information in a provided volume\njob patch. The volume job patch object is structured in the same way as a retrieved\nvolume job and contains only the information to be updated.",
        "operationId": "update_volume_job",
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "name": "my-volume-job"
              },
              "schema": {
                "$ref": "#/components/schemas/VolumeJobPatch"
              }
            }
          },
          "description": "The volume job patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "auto_delete": true,
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "estimated_completion_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "id": "r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "job_type": "migrate",
                  "name": "my-volume-job",
                  "parameters": {
                    "bandwidth": 1000,
                    "iops": 10000,
                    "profile": {
                      "name": "general-purpose"
                    }
                  },
                  "resource_type": "volume_job",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "canceled",
                  "status_reasons": [
                    {
                      "code": "instance_powered_off",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeJob"
                }
              }
            },
            "description": "The volume job was updated successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An invalid volume job patch was provided."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "An volume job with the specified identifier could not be found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume job patch conflicts with another job for this volume."
          }
        },
        "summary": "Update a volume job",
        "tags": [
          "Volumes"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.volume.volume-job.update"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.volume.volume-job.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n\"$vpc_api_endpoint/v1/volumes/$volume_id/jobs/$job_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"name\": \"my-volume-move-update\"\n    }'"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "volumeJobPatchModel := &vpcv1.VolumeJobPatch{\n    Name: core.StringPtr(\"my-updated-volume-job-name\"),\n}\nvolumeJobPatchModelAsPatch, asPatchErr := volumeJobPatchModel.AsPatch()\nupdateVolumeJobOptions := vpcService.NewUpdateVolumeJobOptions(\n    volumeID,\n    volumeJobID,\n    volumeJobPatchModelAsPatch,\n)\nvolumeJob, response, err := vpcService.UpdateVolumeJob(updateVolumeJobOptions)\nif err != nil {\n    panic(err)\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "VolumeJobPatch volumeJobPatchModel = new VolumeJobPatch.Builder()\n  .name(\"my-updated-volume-job-name\")\n  .build();\nMap<String, Object> volumeJobPatchModelAsPatch = volumeJobPatchModel.asPatch();\nUpdateVolumeJobOptions updateVolumeJobOptions = new UpdateVolumeJobOptions.Builder()\n  .volumeId(volumeId)\n  .id(volumeJobId)\n  .volumeJobPatch(volumeJobPatchModelAsPatch)\n  .build();\n\nResponse<VolumeJob> response = vpcService.updateVolumeJob(updateVolumeJobOptions).execute();\nVolumeJob volumeJob = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const name = 'my-updated-volume-job-name';\nconst updateVolumeJobParams = {\n  volumeId,\n  volumeJobId,\n  name,\n};\n\nconst updateVolumeJobResult = vpcService.updateVolumeJob(updateVolumeJobParams);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "volume_job_patch_model = {'name': 'my-updated-volume-job-name'}\nresponse = vpc_service.update_volume_job(\n  volume_id=volume_id,\n  id=volume_job_id,\n  volume_job_patch=volume_job_patch_model\n)\nvolume_job = response.get_result()\nprint(json.dumps(volume_job, indent=2))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/volumes/{volume_id}/jobs/{id}/cancel": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/volumeId"
        },
        {
          "$ref": "#/components/parameters/volumeJobIdUnqualified"
        }
      ],
      "post": {
        "description": "This request cancels a `queued` or `running` volume job.",
        "operationId": "cancel_volume_job",
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "auto_delete": true,
                  "completed_at": "2026-01-02T03:04:05.006Z",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "estimated_completion_at": "2026-01-02T03:04:05.006Z",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "id": "r006-095e9baf-01d4-4e29-986e-20d26606b82a",
                  "job_type": "migrate",
                  "name": "my-volume-job",
                  "parameters": {
                    "bandwidth": 1000,
                    "iops": 10000,
                    "profile": {
                      "name": "general-purpose"
                    }
                  },
                  "resource_type": "volume_job",
                  "started_at": "2026-01-02T03:04:05.006Z",
                  "status": "canceled",
                  "status_reasons": [
                    {
                      "code": "instance_powered_off",
                      "message": "A failure occurred",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VolumeJob"
                }
              }
            },
            "description": "The volume job cancellation request was accepted."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The volume job is not `queued` or `running` and can not be canceled."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified volume job could not be found."
          }
        },
        "summary": "Cancel a queued or running volume job",
        "tags": [
          "Volumes"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.volume.volume-job.cancel"
            }
          ]
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "is.volume.volume.update"
            },
            {
              "name": "is.volume.volume-job.update"
            }
          ]
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n \"$vpc_api_endpoint/v1/volumes/$volume_id/jobs/$job_id/cancel?version=2026-06-30&generation=2\" \\"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "cancelVolumeJobOptions := vpcService.NewCancelVolumeJobOptions(\n    volumeID,\n    volumeJobID,\n)\nvolumeJob, response, err := vpcService.CancelVolumeJob(cancelVolumeJobOptions)\nif err != nil {\n    panic(err)\n}\nb, _ := json.MarshalIndent(volumeJob, \"\", \"  \")\nfmt.Println(string(b))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CancelVolumeJobOptions cancelVolumeJobOptions = new CancelVolumeJobOptions.Builder()\n  .volumeId(volumeId)\n  .id(volumeJobId)\n  .build();\n\nResponse<VolumeJob> response = vpcService.cancelVolumeJob(cancelVolumeJobOptions).execute();\nVolumeJob volumeJob = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  volumeId: volumeId,\n  id: volumeJobId,\n};\n\nlet res;\ntry {\n  res = await vpcService.cancelVolumeJob(params);\n  console.log(JSON.stringify(res.result, null, 2));\n} catch (err) {\n  console.warn(err);\n}"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = vpc_service.cancel_volume_job(\n  volume_id=volume_id,\n  id=volume_job_id\n)\nvolume_job = response.get_result()\n\nprint(json.dumps(volume_job, indent=2))"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      }
    },
    "/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,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132,
                  "vpcs": [
                    {
                      "classic_access": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                      "cse_source_ips": [
                        {
                          "ip": {
                            "address": "192.168.3.4"
                          },
                          "zone": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                            "name": "us-south-1"
                          }
                        },
                        {
                          "ip": {
                            "address": "192.168.4.4"
                          },
                          "zone": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
                            "name": "us-south-2"
                          }
                        },
                        {
                          "ip": {
                            "address": "192.168.5.4"
                          },
                          "zone": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3",
                            "name": "us-south-3"
                          }
                        }
                      ],
                      "default_network_acl": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-1",
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": true,
                        "resolution_binding_count": 1,
                        "resolver": {
                          "servers": [
                            {
                              "address": "192.168.3.4",
                              "zone_affinity": {
                                "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                                "name": "us-south-1"
                              }
                            }
                          ],
                          "type": "delegated",
                          "vpc": {
                            "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "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",
                            "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"
                          }
                        }
                      },
                      "health_reasons": [
                        {
                          "code": "dns_resolution_binding_failed",
                          "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                        }
                      ],
                      "health_state": "degraded",
                      "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "my-resource-group"
                      },
                      "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=2026-06-30&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<VPCCollection> 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": {
              "example": {
                "address_prefix_management": "auto",
                "classic_access": true,
                "dns": {
                  "enable_hub": true,
                  "resolver": {
                    "manual_servers": [
                      {
                        "address": "192.168.3.4",
                        "zone_affinity": {
                          "name": "us-south-1"
                        }
                      }
                    ],
                    "type": "manual"
                  }
                },
                "name": "my-vpc",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/VPCPrototype"
              }
            }
          },
          "description": "The VPC prototype object",
          "required": false
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "classic_access": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                  "cse_source_ips": [
                    {
                      "ip": {
                        "address": "192.168.3.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    },
                    {
                      "ip": {
                        "address": "192.168.4.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
                        "name": "us-south-2"
                      }
                    },
                    {
                      "ip": {
                        "address": "192.168.5.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3",
                        "name": "us-south-3"
                      }
                    }
                  ],
                  "default_network_acl": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-1",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": true,
                    "resolution_binding_count": 1,
                    "resolver": {
                      "servers": [
                        {
                          "address": "192.168.3.4",
                          "zone_affinity": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                            "name": "us-south-1"
                          }
                        }
                      ],
                      "type": "delegated",
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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"
                      }
                    }
                  },
                  "health_reasons": [
                    {
                      "code": "dns_resolution_binding_failed",
                      "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                    }
                  ],
                  "health_state": "degraded",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "my-resource-group"
                  },
                  "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."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A VPC with the specified prototype is not allowed to be created."
          },
          "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=2026-06-30&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<VPC> 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=2026-06-30&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<Void> 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": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                  "cse_source_ips": [
                    {
                      "ip": {
                        "address": "192.168.3.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    },
                    {
                      "ip": {
                        "address": "192.168.4.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
                        "name": "us-south-2"
                      }
                    },
                    {
                      "ip": {
                        "address": "192.168.5.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3",
                        "name": "us-south-3"
                      }
                    }
                  ],
                  "default_network_acl": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-1",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": true,
                    "resolution_binding_count": 1,
                    "resolver": {
                      "servers": [
                        {
                          "address": "192.168.3.4",
                          "zone_affinity": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                            "name": "us-south-1"
                          }
                        }
                      ],
                      "type": "delegated",
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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"
                      }
                    }
                  },
                  "health_reasons": [
                    {
                      "code": "dns_resolution_binding_failed",
                      "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                    }
                  ],
                  "health_state": "degraded",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "my-resource-group"
                  },
                  "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=2026-06-30&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<VPC> 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": {
              "example": {
                "dns": {
                  "enable_hub": true,
                  "resolver": {
                    "manual_servers": [
                      {
                        "address": "192.168.3.4",
                        "zone_affinity": {
                          "name": "us-south-1"
                        }
                      }
                    ],
                    "type": "delegated",
                    "vpc": {
                      "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                    }
                  }
                },
                "name": "my-vpc"
              },
              "schema": {
                "$ref": "#/components/schemas/VPCPatch"
              }
            }
          },
          "description": "The VPC patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "classic_access": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                  "cse_source_ips": [
                    {
                      "ip": {
                        "address": "192.168.3.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    },
                    {
                      "ip": {
                        "address": "192.168.4.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
                        "name": "us-south-2"
                      }
                    },
                    {
                      "ip": {
                        "address": "192.168.5.4"
                      },
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3",
                        "name": "us-south-3"
                      }
                    }
                  ],
                  "default_network_acl": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::network-acl:r006-a4e28308-8ee7-46ab-8108-9f881f22bdbf",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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-1",
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": true,
                    "resolution_binding_count": 1,
                    "resolver": {
                      "servers": [
                        {
                          "address": "192.168.3.4",
                          "zone_affinity": {
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                            "name": "us-south-1"
                          }
                        }
                      ],
                      "type": "delegated",
                      "vpc": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "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"
                      }
                    }
                  },
                  "health_reasons": [
                    {
                      "code": "dns_resolution_binding_failed",
                      "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                    }
                  ],
                  "health_state": "degraded",
                  "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "my-resource-group"
                  },
                  "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 `dns_resolution_binding_mode` 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=2026-06-30&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<VPC> 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": "2026-01-02T03:04:05.006Z",
                  "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": "mnemonic-ersatz-eatery-mythology",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "rules": [
                    {
                      "action": "allow",
                      "before": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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-network-acl-rule"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "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-network-acl-rule",
                      "protocol": "ah",
                      "source": "192.168.3.0/24"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<DefaultNetworkACL> 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_server"
                    }
                  ],
                  "advertise_routes_to": [
                    "transit_gateway",
                    "direct_link"
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "milled-easy-equine-machines",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "routing_table",
                  "route_direct_link_ingress": true,
                  "route_internet_ingress": true,
                  "route_transit_gateway_ingress": true,
                  "route_vpc_zone_ingress": true,
                  "routes": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "name": "my-vpc-routing-table-route"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ]
                },
                "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=2026-06-30&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<DefaultRoutingTable> 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": "2026-01-02T03:04:05.006Z",
                  "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": "observant-chip-emphatic-engraver",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "rules": [
                    {
                      "direction": "inbound",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271/rules/r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "id": "r006-6f2a6efe-21e2-401c-b237-620aa26ba16a",
                      "ip_version": "ipv4",
                      "local": {
                        "address": "192.168.3.4"
                      },
                      "name": "my-security-group-rule",
                      "protocol": "ah",
                      "remote": {
                        "address": "192.168.3.4"
                      },
                      "resource_type": "security_group_rule"
                    }
                  ],
                  "targets": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-bare-metal-server-network-interface",
                      "resource_type": "network_interface"
                    }
                  ],
                  "vpc": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpc:r006-4727d842-f94f-4a2d-824a-9bc9b02c523b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<DefaultSecurityGroup> 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": "192.168.3.0/24",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "has_subnets": true,
                      "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"
                      }
                    }
                  ],
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/address_prefixes?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "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=2026-06-30&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<AddressPrefixCollection> 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": {
              "example": {
                "cidr": "10.240.0.0/18",
                "is_default": true,
                "name": "my-vpc-address-prefix-zone-1",
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/AddressPrefixPrototype"
              }
            }
          },
          "description": "The prefix prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "cidr": "192.168.3.0/24",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "has_subnets": true,
                  "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=2026-06-30&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<AddressPrefix> 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=2026-06-30&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<Void> 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": "192.168.3.0/24",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "has_subnets": true,
                  "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=2026-06-30&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<AddressPrefix> 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": {
                "is_default": true,
                "name": "my-vpc-address-prefix-zone-1"
              },
              "schema": {
                "$ref": "#/components/schemas/AddressPrefixPatch"
              }
            }
          },
          "description": "The prefix patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "cidr": "192.168.3.0/24",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "has_subnets": true,
                  "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 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=2026-06-30&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<AddressPrefix> 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 `dns_resolution_binding_mode`) 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 `dns_resolution_binding_mode`) 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`.",
        "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": "2026-01-02T03:04:05.006Z",
                      "endpoint_gateways": [
                        {
                          "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",
                          "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": [
                        {
                          "code": "disconnected_from_bound_vpc",
                          "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                        }
                      ],
                      "health_state": "degraded",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings/r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                      "id": "r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                      "lifecycle_state": "deleting",
                      "name": "my-dns-resolution-binding",
                      "resource_type": "vpc_dns_resolution_binding",
                      "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",
                        "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=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": 132
                },
                "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=2026-06-30&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<VPCDNSResolutionBindingCollection> 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 `dns_resolution_binding_mode` set to `primary` targeting the same service.\n\nAdditionally, if the VPC specified by the identifier in the URL has endpoint gateways\nthat have `dns_resolution_binding_mode` set to `per_resource_binding`, then those\nendpoint gateways will participate in [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing)\nwith all VPCs in the connected topology. If this VPC contains an endpoint gateway\ntargeting a service that has resource binding enabled, then for this request to succeed:\n- The VPC in the topology with `dns.enable_hub` set to `true` must have an endpoint\n  gateway with the same `target` as the endpoint gateway in this VPC, and with\n  `dns_resolution_binding_mode` set to `primary`.\n- No other VPC in the topology can have an endpoint gateway with a resource binding\n  using the same `service_endpoint` as a resource binding for the endpoint gateway in\n  this VPC.\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": {
              "example": {
                "name": "my-dns-resolution-binding",
                "vpc": {
                  "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/VPCDNSResolutionBindingPrototype"
              }
            }
          },
          "description": "The DNS resolution binding prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "endpoint_gateways": [
                    {
                      "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",
                      "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": [
                    {
                      "code": "disconnected_from_bound_vpc",
                      "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings/r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "id": "r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "lifecycle_state": "deleting",
                  "name": "my-dns-resolution-binding",
                  "resource_type": "vpc_dns_resolution_binding",
                  "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",
                    "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=2026-06-30&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<VPCDNSResolutionBinding> 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": "2026-01-02T03:04:05.006Z",
                  "endpoint_gateways": [
                    {
                      "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",
                      "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": [
                    {
                      "code": "disconnected_from_bound_vpc",
                      "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings/r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "id": "r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "lifecycle_state": "deleting",
                  "name": "my-dns-resolution-binding",
                  "resource_type": "vpc_dns_resolution_binding",
                  "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",
                    "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=2026-06-30&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<Void> 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": "2026-01-02T03:04:05.006Z",
                  "endpoint_gateways": [
                    {
                      "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",
                      "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": [
                    {
                      "code": "disconnected_from_bound_vpc",
                      "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings/r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "id": "r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "lifecycle_state": "deleting",
                  "name": "my-dns-resolution-binding",
                  "resource_type": "vpc_dns_resolution_binding",
                  "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",
                    "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=2026-06-30&generation=2\" \\\n  -H \"Authorization: Bearer $iam_token\""
                    ],
                    "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<VPCDNSResolutionBinding> 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": {
              "example": {
                "name": "my-dns-resolution-binding-updated"
              },
              "schema": {
                "$ref": "#/components/schemas/VPCDNSResolutionBindingPatch"
              }
            }
          },
          "description": "The DNS resolution binding patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "endpoint_gateways": [
                    {
                      "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",
                      "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": [
                    {
                      "code": "disconnected_from_bound_vpc",
                      "message": "The VPC specified in the DNS resolution binding has been disconnected.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-troubleshoot-hub-1"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-982d72b7-db1b-4606-afb2-ed6bd4b0bed1/dns_resolution_bindings/r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "id": "r006-8a524686-fcf6-4947-a59b-188c1ed78ad1",
                  "lifecycle_state": "deleting",
                  "name": "my-dns-resolution-binding",
                  "resource_type": "vpc_dns_resolution_binding",
                  "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",
                    "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=2026-06-30&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<String, Object> vpcdnsResolutionBindingPatchModelAsPatch = vpcdnsResolutionBindingPatchModel.asPatch();\nUpdateVpcDnsResolutionBindingOptions updateVpcDnsResolutionBindingOptions = new UpdateVpcDnsResolutionBindingOptions.Builder()\n  .vpcId(vpcId)\n  .id(vpcdnsResolutionBindingID)\n  .vpcdnsResolutionBindingPatch(vpcdnsResolutionBindingPatchModelAsPatch)\n  .build();\nResponse<VPCDNSResolutionBinding> 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,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routes?start=a977a97fae634c4da1470691cbc4c4a1&limit=20"
                  },
                  "routes": [
                    {
                      "action": "delegate",
                      "advertise": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "creator": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "destination": "192.168.3.0/24",
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "lifecycle_state": "deleting",
                      "name": "my-vpc-routing-table-route",
                      "next_hop": {
                        "address": "10.240.0.11"
                      },
                      "origin": "service",
                      "priority": 1,
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<RouteCollection> 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": {
              "example": {
                "action": "delegate",
                "advertise": true,
                "destination": "192.168.3.0/24",
                "name": "my-vpc-routing-table-route",
                "next_hop": {
                  "address": "10.240.0.11"
                },
                "priority": 1,
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/RoutePrototype"
              }
            }
          },
          "description": "The route prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "action": "delegate",
                  "advertise": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "creator": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "destination": "192.168.3.0/24",
                  "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "lifecycle_state": "deleting",
                  "name": "my-vpc-routing-table-route",
                  "next_hop": {
                    "address": "10.240.0.11"
                  },
                  "origin": "service",
                  "priority": 1,
                  "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=2026-06-30&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\": {\n          \"name\": \"us-south-1\"\n        }\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<Route> 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=2026-06-30&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<Void> 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": "delegate",
                  "advertise": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "creator": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "destination": "192.168.3.0/24",
                  "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "lifecycle_state": "deleting",
                  "name": "my-vpc-routing-table-route",
                  "next_hop": {
                    "address": "10.240.0.11"
                  },
                  "origin": "service",
                  "priority": 1,
                  "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=2026-06-30&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<Route> 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": {
                "advertise": true,
                "name": "my-vpc-routing-table-route",
                "next_hop": {
                  "address": "10.240.0.11"
                },
                "priority": 1
              },
              "schema": {
                "$ref": "#/components/schemas/RoutePatch"
              }
            }
          },
          "description": "The route patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action": "delegate",
                  "advertise": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "creator": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "destination": "192.168.3.0/24",
                  "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "lifecycle_state": "deleting",
                  "name": "my-vpc-routing-table-route",
                  "next_hop": {
                    "address": "10.240.0.11"
                  },
                  "origin": "service",
                  "priority": 1,
                  "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=2026-06-30&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<Route> 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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-4727d842-f94f-4a2d-824a-9bc9b02c523b/routing_tables?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "routing_tables": [
                    {
                      "accept_routes_from": [
                        {
                          "resource_type": "vpn_server"
                        }
                      ],
                      "advertise_routes_to": [
                        "transit_gateway",
                        "direct_link"
                      ],
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "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": "deleting",
                      "name": "my-routing-table-1",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "routing_table",
                      "route_direct_link_ingress": true,
                      "route_internet_ingress": true,
                      "route_transit_gateway_ingress": true,
                      "route_vpc_zone_ingress": true,
                      "routes": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                          "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                          "name": "my-vpc-routing-table-route"
                        }
                      ],
                      "subnets": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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"
                        }
                      ]
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<RoutingTableCollection> 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": {
              "example": {
                "accept_routes_from": [
                  {
                    "resource_type": "vpn_server"
                  }
                ],
                "advertise_routes_to": [
                  "direct_link"
                ],
                "name": "my-routing-table-1",
                "route_direct_link_ingress": true,
                "route_internet_ingress": true,
                "route_transit_gateway_ingress": true,
                "route_vpc_zone_ingress": true,
                "routes": [
                  {
                    "action": "delegate",
                    "advertise": true,
                    "destination": "192.168.3.0/24",
                    "name": "my-vpc-routing-table-route",
                    "next_hop": {
                      "address": "10.240.0.11"
                    },
                    "priority": 1,
                    "zone": {
                      "name": "us-south-1"
                    }
                  }
                ]
              },
              "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_server"
                    }
                  ],
                  "advertise_routes_to": [
                    "transit_gateway",
                    "direct_link"
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-routing-table-1",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "routing_table",
                  "route_direct_link_ingress": true,
                  "route_internet_ingress": true,
                  "route_transit_gateway_ingress": true,
                  "route_vpc_zone_ingress": true,
                  "routes": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "name": "my-vpc-routing-table-route"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ]
                },
                "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=2026-06-30&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<RoutePrototype>(java.util.Arrays.asList(routePrototypeModel)))\n.build();\n\nResponse<RoutingTable> 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=2026-06-30&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<Void> 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_server"
                    }
                  ],
                  "advertise_routes_to": [
                    "transit_gateway",
                    "direct_link"
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-routing-table-1",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "routing_table",
                  "route_direct_link_ingress": true,
                  "route_internet_ingress": true,
                  "route_transit_gateway_ingress": true,
                  "route_vpc_zone_ingress": true,
                  "routes": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "name": "my-vpc-routing-table-route"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ]
                },
                "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=2026-06-30&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<RoutingTable> 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": {
              "example": {
                "accept_routes_from": [
                  {
                    "resource_type": "vpn_server"
                  }
                ],
                "advertise_routes_to": [
                  "direct_link"
                ],
                "name": "my-routing-table-2",
                "route_direct_link_ingress": true,
                "route_internet_ingress": true,
                "route_transit_gateway_ingress": true,
                "route_vpc_zone_ingress": true
              },
              "schema": {
                "$ref": "#/components/schemas/RoutingTablePatch"
              }
            }
          },
          "description": "The routing table patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "accept_routes_from": [
                    {
                      "resource_type": "vpn_server"
                    }
                  ],
                  "advertise_routes_to": [
                    "transit_gateway",
                    "direct_link"
                  ],
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "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": "deleting",
                  "name": "my-routing-table-1",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "routing_table",
                  "route_direct_link_ingress": true,
                  "route_internet_ingress": true,
                  "route_transit_gateway_ingress": true,
                  "route_vpc_zone_ingress": true,
                  "routes": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "name": "my-vpc-routing-table-route"
                    }
                  ],
                  "subnets": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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"
                    }
                  ]
                },
                "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=2026-06-30&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<String, Object> routingTablePatchModelAsPatch = routingTablePatchModel.asPatch();\n\nUpdateVpcRoutingTableOptions updateVpcRoutingTableOptions = new UpdateVpcRoutingTableOptions.Builder()\n.vpcId(vpcId)\n.id(routingTableId)\n.routingTablePatch(routingTablePatchModelAsPatch)\n.build();\n\nResponse<RoutingTable> 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,
                  "next": {
                    "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": [
                    {
                      "action": "delegate",
                      "advertise": true,
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "creator": {
                        "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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"
                      },
                      "destination": "192.168.3.0/24",
                      "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                      "lifecycle_state": "deleting",
                      "name": "my-vpc-routing-table-route",
                      "next_hop": {
                        "address": "10.240.0.11"
                      },
                      "origin": "service",
                      "priority": 1,
                      "zone": {
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                        "name": "us-south-1"
                      }
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<RouteCollection> 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": {
              "example": {
                "action": "delegate",
                "advertise": true,
                "destination": "192.168.3.0/24",
                "name": "my-vpc-routing-table-route",
                "next_hop": {
                  "address": "10.240.0.11"
                },
                "priority": 1,
                "zone": {
                  "name": "us-south-1"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/RoutePrototype"
              }
            }
          },
          "description": "The VPC route prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "action": "delegate",
                  "advertise": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "creator": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "destination": "192.168.3.0/24",
                  "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "lifecycle_state": "deleting",
                  "name": "my-vpc-routing-table-route",
                  "next_hop": {
                    "address": "10.240.0.11"
                  },
                  "origin": "service",
                  "priority": 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/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=2026-06-30&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<Route> 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=2026-06-30&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<Void> 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": "delegate",
                  "advertise": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "creator": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "destination": "192.168.3.0/24",
                  "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "lifecycle_state": "deleting",
                  "name": "my-vpc-routing-table-route",
                  "next_hop": {
                    "address": "10.240.0.11"
                  },
                  "origin": "service",
                  "priority": 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/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=2026-06-30&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<Route> 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": true,
                "name": "my-vpc-routing-table-route",
                "next_hop": {
                  "address": "10.240.0.11"
                },
                "priority": 1
              },
              "schema": {
                "$ref": "#/components/schemas/RoutePatch"
              }
            }
          },
          "description": "The VPC route patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action": "delegate",
                  "advertise": true,
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "creator": {
                    "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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"
                  },
                  "destination": "192.168.3.0/24",
                  "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-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "id": "r006-67b7b783-9a0f-41c1-a7f7-eccff87fb8f1",
                  "lifecycle_state": "deleting",
                  "name": "my-vpc-routing-table-route",
                  "next_hop": {
                    "address": "10.240.0.11"
                  },
                  "origin": "service",
                  "priority": 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/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=2026-06-30&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<String, Object> 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<Route> 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,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways?start=9d5a91a3e2cbd233b5a5b33436855ed&limit=20"
                  },
                  "total_count": 132,
                  "vpn_gateways": [
                    {
                      "connections": [
                        {
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                      "health_reasons": [
                        {
                          "code": "cannot_create_vpc_route",
                          "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                        }
                      ],
                      "health_state": "degraded",
                      "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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "members": [
                        {
                          "health_reasons": [
                            {
                              "code": "cannot_reserve_ip_address",
                              "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                              "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                            }
                          ],
                          "health_state": "degraded",
                          "lifecycle_reasons": [
                            {
                              "code": "internal_error",
                              "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                            }
                          ],
                          "lifecycle_state": "deleting",
                          "private_ip": {
                            "address": "192.168.3.4",
                            "deleted": {
                              "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                            },
                            "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                            "name": "my-reserved-ip",
                            "resource_type": "subnet_reserved_ip"
                          },
                          "public_ip": {
                            "address": "192.168.3.4"
                          },
                          "role": "active"
                        }
                      ],
                      "mode": "policy",
                      "name": "my-vpn-gateway",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "vpn_gateway",
                      "subnet": {
                        "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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=2026-06-30&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<VPNGatewayCollection> 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": {
              "example": {
                "advertised_cidrs": [
                  "192.168.3.0/24"
                ],
                "local_asn": 64520,
                "mode": "route",
                "name": "my-vpn-gateway",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "subnet": {
                  "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/VPNGatewayPrototype"
              }
            }
          },
          "description": "The VPN gateway prototype object.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                  "health_reasons": [
                    {
                      "code": "cannot_create_vpc_route",
                      "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "members": [
                    {
                      "health_reasons": [
                        {
                          "code": "cannot_reserve_ip_address",
                          "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                        }
                      ],
                      "health_state": "degraded",
                      "lifecycle_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "private_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "resource_type": "subnet_reserved_ip"
                      },
                      "public_ip": {
                        "address": "192.168.3.4"
                      },
                      "role": "active"
                    }
                  ],
                  "mode": "policy",
                  "name": "my-vpn-gateway",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "vpn_gateway",
                  "subnet": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<VPNGateway> 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=2026-06-30&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<Void> 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": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                  "health_reasons": [
                    {
                      "code": "cannot_create_vpc_route",
                      "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "members": [
                    {
                      "health_reasons": [
                        {
                          "code": "cannot_reserve_ip_address",
                          "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                        }
                      ],
                      "health_state": "degraded",
                      "lifecycle_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "private_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "resource_type": "subnet_reserved_ip"
                      },
                      "public_ip": {
                        "address": "192.168.3.4"
                      },
                      "role": "active"
                    }
                  ],
                  "mode": "policy",
                  "name": "my-vpn-gateway",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "vpn_gateway",
                  "subnet": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<VPNGateway> 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": {
                "local_asn": 64520,
                "name": "my-vpn-gateway"
              },
              "schema": {
                "$ref": "#/components/schemas/VPNGatewayPatch"
              }
            }
          },
          "description": "The VPN gateway patch.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "connections": [
                    {
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn:0717-ddf51bec-3424-11e8-b467-0ed5f89f718b",
                  "health_reasons": [
                    {
                      "code": "cannot_create_vpc_route",
                      "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                    }
                  ],
                  "health_state": "degraded",
                  "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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "members": [
                    {
                      "health_reasons": [
                        {
                          "code": "cannot_reserve_ip_address",
                          "message": "IP address exhaustion (release addresses on the VPN's subnet).",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                        }
                      ],
                      "health_state": "degraded",
                      "lifecycle_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "private_ip": {
                        "address": "192.168.3.4",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                        "name": "my-reserved-ip",
                        "resource_type": "subnet_reserved_ip"
                      },
                      "public_ip": {
                        "address": "192.168.3.4"
                      },
                      "role": "active"
                    }
                  ],
                  "mode": "policy",
                  "name": "my-vpn-gateway",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "vpn_gateway",
                  "subnet": {
                    "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::subnet:0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<VPNGateway> 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}/advertised_cidrs": {
      "get": {
        "description": "This request lists advertised CIDRs for a VPN gateway.\n\nThis request is only supported for route mode VPN gateways.",
        "operationId": "list_vpn_gateway_advertised_cidrs",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "advertised_cidrs": [
                    "192.168.3.0/24"
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VPNGatewayAdvertisedCIDRCollection"
                }
              }
            },
            "description": "The CIDRs 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 advertised CIDRs for a VPN gateway",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.vpn-advertised-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/advertised_cidrs?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListVPNGatewayAdvertisedCidrsOptions{\n  VPNGatewayID: &id,\n}\nvpnGatewayAdvertisedCidrs, response, err := vpcService.ListVPNGatewayAdvertisedCidrs(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListVpnGatewayAdvertisedCidrsOptions listVpnGatewayAdvertisedCidrsOptions = new ListVpnGatewayAdvertisedCidrsOptions.Builder()\n  .vpnGatewayId(vpnGatewayId)\n  .build();\n\nResponse<VPNGatewayAdvertisedCidrs> response = service.listVpnGatewayAdvertisedCidrs(listVpnGatewayAdvertisedCidrsOptions).execute();\nVPNGatewayAdvertisedCidrs vpnGatewayAdvertisedCidrs = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  vpnGatewayId: vpnGatewayId,\n};\nconst response = await vpcService.listVpnGatewayAdvertisedCidrs(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_vpn_gateway_advertised_cidrs(vpn_gateway_id)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/vpnGatewayId"
        }
      ]
    },
    "/vpn_gateways/{vpn_gateway_id}/advertised_cidrs/{cidr}": {
      "delete": {
        "description": "This request removes a CIDR from a VPN gateway advertised CIDRs.\n\nThis request is only supported for route mode VPN gateways.",
        "operationId": "remove_vpn_gateway_advertised_cidr",
        "responses": {
          "204": {
            "description": "The CIDR was successfully removed from the specified VPN gateway advertised CIDRs."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The CIDR is not allowed to be removed from the specified VPN gateway advertised CIDRs."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified CIDR does not exist on the specified VPN gateway or the\nspecified VPN gateway could not be found."
          }
        },
        "summary": "Remove an advertised CIDR from a VPN gateway",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.vpn-advertised-cidr.delete"
            }
          ]
        },
        "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 DELETE \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/advertised_cidrs/192.168.3.0/24?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.RemoveVPNGatewayAdvertisedCIDROptions{\n  VPNGatewayID: &id,\n  CIDR:         &cidr,\n}\nresponse, err := vpcService.RemoveVPNGatewayAdvertisedCIDROptions(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "RemoveVpnGatewayAdvertisedCidrOptions removeVpnGatewayAdvertisedCidrOptions = new removeVpnGatewayAdvertisedCidrOptions.Builder()\n  .vpnGatewayId(vpnGatewayId)\n  .cidr(cidr)\n  .build();\n\nResponse<void> response = service.removeVpnGatewayAdvertisedCidr(removeVpnGatewayAdvertisedCidrOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  vpnGatewayId: vpnGatewayId,\n  cidr: cidr,\n};\nconst response = await  vpcService.removeVpnGatewayAdvertisedCidr(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.remove_vpn_gateway_advertised_cidr(\n    vpn_gateway_id,\n    cidr\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "get": {
        "description": "This request succeeds if an advertised CIDR exists on the specified VPN gateway,\nand fails otherwise.\n\nThis request is only supported for route mode VPN gateways.",
        "operationId": "check_vpn_gateway_advertised_cidr",
        "responses": {
          "204": {
            "description": "The specified CIDR exists on the specified VPN gateway."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified CIDR does not exist on the specified VPN gateway\nor the specified VPN gateway could not be found."
          }
        },
        "summary": "Check if the specified advertised CIDR exists on a VPN gateway",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.vpn-advertised-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/advertised_cidrs/192.168.3.0/24?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.CheckVPNGatewayAdvertisedCIDROptions{\n  VPNGatewayID: &id,\n  CIDR:         &cidr,\n}\nresponse, err := vpcService.CheckVPNGatewayAdvertisedCIDR(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "CheckVpnGatewayAdvertisedCidrOptions checkVpnGatewayAdvertisedCidrOptions = new CheckVpnGatewayAdvertisedCidrOptions.Builder()\n  .vpnGatewayId(vpnGatewayId)\n  .cidr(cidr)\n  .build();\n\nResponse<void> response = service.checkVpnGatewayAdvertisedCidr(checkVpnGatewayAdvertisedCidrOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  vpnGatewayId: vpnGatewayId,\n  cidr: cidr,\n};\nconst response = await  vpcService.checkVpnGatewayAdvertisedCidr(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.check_vpn_gateway_advertised_cidr(\n    vpn_gateway_id,\n    cidr\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/vpnGatewayId"
        },
        {
          "$ref": "#/components/parameters/cidr"
        }
      ],
      "put": {
        "description": "This request adds the specified CIDR to the specified VPN gateway advertised CIDRs. This\nrequest succeeds if the specified CIDR already exists. A request body is not required, and\nif provided, is ignored.\n\nThis request is only supported for route mode VPN gateways.",
        "operationId": "add_vpn_gateway_advertised_cidr",
        "responses": {
          "204": {
            "description": "The CIDR was successfully set on the specified VPN gateway."
          },
          "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."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "The specified VPN gateway could not be found."
          }
        },
        "summary": "Set an advertised CIDR on a VPN gateway",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.vpn-advertised-cidr.create"
            }
          ]
        },
        "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 PUT \\\n\"$vpc_api_endpoint/v1/vpn_gateways/$vpn_gateway_id/advertised_cidrs/192.168.3.0/24?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.AddVPNGatewayAdvertisedCIDROptions{\n  VPNGatewayID: &id,\n  CIDR:         &cidr,\n}\nresponse, err := vpcService.AddVPNGatewayAdvertisedCIDROptions(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "AddVpnGatewayAdvertisedCidrOptions addVpnGatewayAdvertisedCidrOptions = new AddVpnGatewayAdvertisedCidrOptions.Builder()\n  .vpnGatewayId(vpnGatewayId)\n  .cidr(cidr)\n  .build();\n\nResponse<void> response = service.addVpnGatewayAdvertisedCidr(addVpnGatewayAdvertisedCidrOptions).execute();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  vpnGatewayId: vpnGatewayId,\n  cidr: cidr,\n};\nconst response = await  vpcService.addVpnGatewayAdvertisedCidr(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.add_vpn_gateway_advertised_cidr(\n    vpn_gateway_id,\n    cidr\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": "2026-01-02T03:04:05.006Z",
                      "dead_peer_detection": {
                        "action": "clear",
                        "interval": 30,
                        "timeout": 120
                      },
                      "distribute_traffic": true,
                      "establish_mode": "bidirectional",
                      "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": {
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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": {
                        "ike_identities": [
                          {
                            "type": "fqdn",
                            "value": "my-service.example.com"
                          },
                          {
                            "type": "hostname",
                            "value": "my-hostname"
                          }
                        ]
                      },
                      "mode": "policy",
                      "name": "my-vpn-gateway-connection",
                      "peer": {
                        "address": "192.0.2.5",
                        "ike_identity": {
                          "type": "fqdn",
                          "value": "my-service.example.com"
                        },
                        "type": "address"
                      },
                      "psk": "lkj14b1oi0alcniejkso",
                      "resource_type": "vpn_gateway_connection",
                      "routing_protocol": "none",
                      "status": "down",
                      "status_reasons": [
                        {
                          "code": "cannot_authenticate_connection",
                          "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                        }
                      ],
                      "tunnels": [
                        {
                          "public_ip": {
                            "address": "192.168.3.4"
                          },
                          "status": "down",
                          "status_reasons": [
                            {
                              "code": "cannot_authenticate_connection",
                              "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                              "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/connections?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "total_count": 132
                },
                "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=2026-06-30&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<VPNGatewayConnectionCollection> 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": {
              "example": {
                "admin_state_up": true,
                "dead_peer_detection": {
                  "action": "clear",
                  "interval": 30,
                  "timeout": 120
                },
                "distribute_traffic": true,
                "establish_mode": "bidirectional",
                "ike_policy": {
                  "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d"
                },
                "ipsec_policy": {
                  "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876"
                },
                "local": {
                  "ike_identities": [
                    {
                      "type": "fqdn",
                      "value": "my-service.example.com"
                    },
                    {
                      "type": "hostname",
                      "value": "my-hostname"
                    }
                  ]
                },
                "name": "my-vpn-gateway-connection",
                "peer": {
                  "address": "192.0.2.5",
                  "ike_identity": {
                    "type": "fqdn",
                    "value": "my-service.example.com"
                  }
                },
                "psk": "lkj14b1oi0alcniejkso",
                "routing_protocol": "none"
              },
              "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": "2026-01-02T03:04:05.006Z",
                  "dead_peer_detection": {
                    "action": "clear",
                    "interval": 30,
                    "timeout": 120
                  },
                  "distribute_traffic": true,
                  "establish_mode": "bidirectional",
                  "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "ike_identities": [
                      {
                        "type": "fqdn",
                        "value": "my-service.example.com"
                      },
                      {
                        "type": "hostname",
                        "value": "my-hostname"
                      }
                    ]
                  },
                  "mode": "policy",
                  "name": "my-vpn-gateway-connection",
                  "peer": {
                    "address": "192.0.2.5",
                    "ike_identity": {
                      "type": "fqdn",
                      "value": "my-service.example.com"
                    },
                    "type": "address"
                  },
                  "psk": "lkj14b1oi0alcniejkso",
                  "resource_type": "vpn_gateway_connection",
                  "routing_protocol": "none",
                  "status": "down",
                  "status_reasons": [
                    {
                      "code": "cannot_authenticate_connection",
                      "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                    }
                  ],
                  "tunnels": [
                    {
                      "public_ip": {
                        "address": "192.168.3.4"
                      },
                      "status": "down",
                      "status_reasons": [
                        {
                          "code": "cannot_authenticate_connection",
                          "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                        }
                      ]
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VPNGatewayConnection"
                }
              }
            },
            "description": "The VPN gateway connection was created successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "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=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\" \\\n-d '{\n      \"distribute_traffic\": true,\n      \"admin_state_up\": true,\n      \"dead_peer_detection\": {\n        \"interval\": 15,\n        \"timeout\": 30\n      },\n      \"local\": {\n        \"ike_identities\": [\n          {\n            \"type\": \"fqdn\",\n            \"value\": \"my-service.example.com\"\n          },\n          {\n            \"type\": \"hostname\",\n            \"value\": \"my-hostname\"\n          }\n        ]\n      },\n      \"name\": \"my-vpn-gateway-connection\",\n      \"peer\": {\n        \"address\": \"192.0.2.5\",\n        \"ike_identity\": {\n          \"type\": \"fqdn\",\n          \"value\": \"my-service.example.com\"\n        }\n      },\n      \"psk\": \"lkj14b1oi0alcniejkso\",\n      \"routing_protocol\": \"none\"\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<VPNGatewayConnection> 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": [
          {
            "$ref": "#/components/parameters/ifMatch"
          }
        ],
        "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."
          },
          "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 gateway\nconnection"
          }
        },
        "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=2026-06-30&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<Void> 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": "2026-01-02T03:04:05.006Z",
                  "dead_peer_detection": {
                    "action": "clear",
                    "interval": 30,
                    "timeout": 120
                  },
                  "distribute_traffic": true,
                  "establish_mode": "bidirectional",
                  "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "ike_identities": [
                      {
                        "type": "fqdn",
                        "value": "my-service.example.com"
                      },
                      {
                        "type": "hostname",
                        "value": "my-hostname"
                      }
                    ]
                  },
                  "mode": "policy",
                  "name": "my-vpn-gateway-connection",
                  "peer": {
                    "address": "192.0.2.5",
                    "ike_identity": {
                      "type": "fqdn",
                      "value": "my-service.example.com"
                    },
                    "type": "address"
                  },
                  "psk": "lkj14b1oi0alcniejkso",
                  "resource_type": "vpn_gateway_connection",
                  "routing_protocol": "none",
                  "status": "down",
                  "status_reasons": [
                    {
                      "code": "cannot_authenticate_connection",
                      "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                    }
                  ],
                  "tunnels": [
                    {
                      "public_ip": {
                        "address": "192.168.3.4"
                      },
                      "status": "down",
                      "status_reasons": [
                        {
                          "code": "cannot_authenticate_connection",
                          "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                        }
                      ]
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VPNGatewayConnection"
                }
              }
            },
            "description": "The VPN gateway connection was retrieved successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "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=2026-06-30&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<VPNGatewayConnection> 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": [
          {
            "$ref": "#/components/parameters/ifMatchPatchContext"
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "example": {
                "admin_state_up": true,
                "dead_peer_detection": {
                  "action": "clear",
                  "interval": 30,
                  "timeout": 120
                },
                "distribute_traffic": true,
                "establish_mode": "bidirectional",
                "ike_policy": {
                  "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d"
                },
                "ipsec_policy": {
                  "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876"
                },
                "name": "my-vpn-gateway-connection",
                "peer": {
                  "address": "192.0.2.5"
                },
                "psk": "lkj14b1oi0alcniejkso",
                "routing_protocol": "bgp",
                "tunnels": [
                  {
                    "neighbor_ip": {
                      "address": "169.254.0.2"
                    },
                    "tunnel_interface_ip": {
                      "address": "169.254.0.1"
                    }
                  },
                  {
                    "neighbor_ip": {
                      "address": "169.254.0.2"
                    },
                    "tunnel_interface_ip": {
                      "address": "169.254.0.1"
                    }
                  }
                ]
              },
              "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": "2026-01-02T03:04:05.006Z",
                  "dead_peer_detection": {
                    "action": "clear",
                    "interval": 30,
                    "timeout": 120
                  },
                  "distribute_traffic": true,
                  "establish_mode": "bidirectional",
                  "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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": {
                    "ike_identities": [
                      {
                        "type": "fqdn",
                        "value": "my-service.example.com"
                      },
                      {
                        "type": "hostname",
                        "value": "my-hostname"
                      }
                    ]
                  },
                  "mode": "policy",
                  "name": "my-vpn-gateway-connection",
                  "peer": {
                    "address": "192.0.2.5",
                    "ike_identity": {
                      "type": "fqdn",
                      "value": "my-service.example.com"
                    },
                    "type": "address"
                  },
                  "psk": "lkj14b1oi0alcniejkso",
                  "resource_type": "vpn_gateway_connection",
                  "routing_protocol": "none",
                  "status": "down",
                  "status_reasons": [
                    {
                      "code": "cannot_authenticate_connection",
                      "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                    }
                  ],
                  "tunnels": [
                    {
                      "public_ip": {
                        "address": "192.168.3.4"
                      },
                      "status": "down",
                      "status_reasons": [
                        {
                          "code": "cannot_authenticate_connection",
                          "message": "Failed to authenticate a connection because of mismatched IKE ID and PSK.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health#vpn-connection-health"
                        }
                      ]
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VPNGatewayConnection"
                }
              }
            },
            "description": "The VPN gateway connection was updated successfully.",
            "headers": {
              "ETag": {
                "$ref": "#/components/headers/eTag"
              }
            }
          },
          "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."
          },
          "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 gateway\nconnection"
          }
        },
        "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=2026-06-30&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<VPNGatewayConnection> 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": [
                    "192.0.2.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=2026-06-30&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<VPNGatewayConnectionCIDRs> 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/192.168.3.0/24?version=2026-06-30&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<Void> 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/192.168.3.0/24?version=2026-06-30&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<Void> 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/192.168.3.0/24?version=2026-06-30&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<Void> 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": [
                    "192.0.2.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=2026-06-30&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<VPNGatewayConnectionCIDRs> 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/192.168.3.0/24?version=2026-06-30&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<Void> 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/192.168.3.0/24?version=2026-06-30&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<Void> 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/192.168.3.0/24?version=2026-06-30&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<Void> 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_gateways/{vpn_gateway_id}/service_connections": {
      "get": {
        "description": "This request lists service connections on a VPN gateway. The VPN gateway service\nconnections will be sorted by ascending `created_at` property values. A VPN gateway\nservice connection connects services such as transit gateway to a VPN gateway.\nThis facilitates the propagation of routes learned from VPN gateway peer connections\nto the connected service (for example, a transit gateway).",
        "operationId": "list_vpn_gateway_service_connections",
        "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/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/service_connections?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_gateways/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/service_connections?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
                  },
                  "service_connections": [
                    {
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "creator": {
                        "crn": "crn:v1:bluemix:public:transit:dal03:a/aa2432b1fa4d4ace891e9b80fc104e34::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
                        "id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
                        "resource_type": "transit_gateway"
                      },
                      "id": "0717-64e7e88c-4b28-4082-9ab8-3f95876952ac",
                      "lifecycle_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "status": "degraded",
                      "status_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The connection is down because the peer is not responding.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                        }
                      ]
                    }
                  ],
                  "total_count": 132
                },
                "schema": {
                  "$ref": "#/components/schemas/VPNGatewayServiceConnectionCollection"
                }
              }
            },
            "description": "The VPN gateway service 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 VPN gateway service connections",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.vpn-service-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/service_connections?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.ListVPNGatewayServiceConnectionsOptions{\n  VPNGatewayID: &id,\n}\nvpnGatewayServiceConnections, response, err := vpcService.ListVPNGatewayServiceConnections(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "ListVpnGatewayServiceConnectionsOptions listVpnGatewayServiceConnectionsOptions = new ListVpnGatewayServiceConnectionsOptions.Builder()\n  .vpnGatewayId(vpnGatewayId)\n  .build();\n\nResponse<VPNGatewayServiceConnectionCollection> response = vpcService.listVpnGatewayServiceConnections(listVpnGatewayServiceConnectionsOptions).execute();\nVPNGatewayServiceConnectionCollection vpnGatewayServiceConnectionCollection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  vpnGatewayId: vpnGatewayId,\n};\nconst response = await  vpcService.VpnGatewayServiceConnectionsPager(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.list_vpn_gateway_service_connections(\n    vpn_gateway_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/vpnGatewayId"
        }
      ]
    },
    "/vpn_gateways/{vpn_gateway_id}/service_connections/{id}": {
      "get": {
        "description": "This request retrieves VPN gateway service connection specified\nby the identifier in the URL.",
        "operationId": "get_vpn_gateway_service_connection",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "creator": {
                    "crn": "crn:v1:bluemix:public:transit:dal03:a/aa2432b1fa4d4ace891e9b80fc104e34::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
                    "id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
                    "resource_type": "transit_gateway"
                  },
                  "id": "0717-64e7e88c-4b28-4082-9ab8-3f95876952ac",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "status": "degraded",
                  "status_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The connection is down because the peer is not responding.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-health"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/VPNGatewayServiceConnection"
                }
              }
            },
            "description": "The VPN gateway service connection was retrieved successfully."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorContainer"
                }
              }
            },
            "description": "A VPN gateway service connection with the specified identifier could not be found."
          }
        },
        "summary": "Retrieve a VPN gateway service connection",
        "tags": [
          "VPN gateways"
        ],
        "x-ibm-events": {
          "events": [
            {
              "name": "is.vpn.vpn-service-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/service_connections/$service_connection_id?version=2026-06-30&generation=2\" \\\n-H \"Authorization: Bearer $iam_token\""
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "example": [
                  {
                    "lang": "go",
                    "source": [
                      "options := &vpcv1.GetVPNGatewayServiceConnectionOptions{\n  VPNGatewayID: &id,\n  ID:           &connectionID,\n}\nvpnGatewayServiceConnection, response, err := vpcService.GetVPNGatewayServiceConnection(options)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "java": [
              {
                "example": [
                  {
                    "lang": "java",
                    "source": [
                      "GetVpnGatewayServiceConnectionOptions getVpnGatewayServiceConnectionOptions = new GetVpnGatewayServiceConnectionOptions.Builder()\n  .vpnGatewayId(vpnGatewayId)\n  .id(id)\n  .build();\n\nResponse<VPNGatewayServiceConnection> response = vpcService.getVpnGatewayServiceConnection(getVpnGatewayServiceConnectionOptions).execute();\nVPNGatewayServiceConnection vpnGatewayServiceConnection = response.getResult();"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "node": [
              {
                "example": [
                  {
                    "lang": "node",
                    "source": [
                      "const params = {\n  vpnGatewayId: vpnGatewayId,\n  id: serviceConnectionId,\n};\nconst response = await  vpcService.getVpnGatewayServiceConnection(params);"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "python": [
              {
                "example": [
                  {
                    "lang": "python",
                    "source": [
                      "response = service.get_vpn_gateway_service_connection(\n    vpn_gateway_id,\n    service_connection_id\n)"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ]
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        },
        {
          "$ref": "#/components/parameters/generation"
        },
        {
          "$ref": "#/components/parameters/vpnGatewayId"
        },
        {
          "$ref": "#/components/parameters/vpnGatewayServiceConnectionIdUnqualified"
        }
      ]
    },
    "/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=20"
                  },
                  "limit": 20,
                  "next": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers?start=ffd653466e284937896724b2dd044c9c&limit=20"
                  },
                  "total_count": 132,
                  "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": "certificate"
                        }
                      ],
                      "client_auto_delete": true,
                      "client_auto_delete_timeout": 1,
                      "client_dns_server_ips": [
                        {
                          "address": "192.168.3.4"
                        }
                      ],
                      "client_idle_timeout": 600,
                      "client_ip_pool": "172.16.0.0/16",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f",
                      "enable_split_tunneling": true,
                      "health_reasons": [
                        {
                          "code": "cannot_access_client_certificate",
                          "message": "Failed to get VPN server's server certificate from Secrets Manager.",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-health"
                        }
                      ],
                      "health_state": "degraded",
                      "hostname": "a8506291.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": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-vpn-server",
                      "port": 443,
                      "private_ips": [
                        {
                          "address": "192.168.3.4",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                          "name": "my-reserved-ip",
                          "resource_type": "subnet_reserved_ip"
                        }
                      ],
                      "protocol": "tcp",
                      "resource_group": {
                        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                        "id": "fee82deba12e4c0fb69c3b09d1f12345",
                        "name": "my-resource-group"
                      },
                      "resource_type": "vpn_server",
                      "security_groups": [
                        {
                          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                          "deleted": {
                            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                          },
                          "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",
                        "deleted": {
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                        },
                        "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=2026-06-30&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<VPNServerCollection> 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": {
              "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": "certificate"
                  }
                ],
                "client_dns_server_ips": [
                  {
                    "address": "192.168.3.4"
                  }
                ],
                "client_idle_timeout": 600,
                "client_ip_pool": "172.16.0.0/16",
                "enable_split_tunneling": true,
                "name": "my-vpn-server",
                "port": 443,
                "protocol": "tcp",
                "resource_group": {
                  "id": "fee82deba12e4c0fb69c3b09d1f12345"
                },
                "security_groups": [
                  {
                    "id": "r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                  }
                ],
                "subnets": [
                  {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                ]
              },
              "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": "certificate"
                    }
                  ],
                  "client_auto_delete": true,
                  "client_auto_delete_timeout": 1,
                  "client_dns_server_ips": [
                    {
                      "address": "192.168.3.4"
                    }
                  ],
                  "client_idle_timeout": 600,
                  "client_ip_pool": "172.16.0.0/16",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f",
                  "enable_split_tunneling": true,
                  "health_reasons": [
                    {
                      "code": "cannot_access_client_certificate",
                      "message": "Failed to get VPN server's server certificate from Secrets Manager.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-health"
                    }
                  ],
                  "health_state": "degraded",
                  "hostname": "a8506291.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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-vpn-server",
                  "port": 443,
                  "private_ips": [
                    {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "protocol": "tcp",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "vpn_server",
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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:v1:bluemix:public:secrets-manager:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:36fa422d-080d-4d83-8d2d-86851b4001df:secret:2e786aab-42fa-63ed-14f8-d66d552f4dd5\"\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<VPNServerAuthenticationPrototype>(java.util.Arrays.asList(vpnServerAuthenticationPrototypeModel)))\n  .clientIpPool(\"172.16.0.0/16\")\n  .name(\"my-vpn-server\")\n  .subnets(new java.util.ArrayList<SubnetIdentity>(java.util.Arrays.asList(subnetIdentityModel)))\n  .build();\n\nResponse<VPNServer> 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=2026-06-30&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<Void> 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": "certificate"
                    }
                  ],
                  "client_auto_delete": true,
                  "client_auto_delete_timeout": 1,
                  "client_dns_server_ips": [
                    {
                      "address": "192.168.3.4"
                    }
                  ],
                  "client_idle_timeout": 600,
                  "client_ip_pool": "172.16.0.0/16",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f",
                  "enable_split_tunneling": true,
                  "health_reasons": [
                    {
                      "code": "cannot_access_client_certificate",
                      "message": "Failed to get VPN server's server certificate from Secrets Manager.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-health"
                    }
                  ],
                  "health_state": "degraded",
                  "hostname": "a8506291.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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-vpn-server",
                  "port": 443,
                  "private_ips": [
                    {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "protocol": "tcp",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "vpn_server",
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<VPNServer> 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": {
                "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": "certificate"
                  }
                ],
                "client_dns_server_ips": [
                  {
                    "address": "192.168.3.4"
                  }
                ],
                "client_idle_timeout": 600,
                "client_ip_pool": "172.16.0.0/16",
                "enable_split_tunneling": true,
                "name": "my-vpn-server",
                "port": 443,
                "protocol": "tcp",
                "subnets": [
                  {
                    "id": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e"
                  }
                ]
              },
              "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": "certificate"
                    }
                  ],
                  "client_auto_delete": true,
                  "client_auto_delete_timeout": 1,
                  "client_dns_server_ips": [
                    {
                      "address": "192.168.3.4"
                    }
                  ],
                  "client_idle_timeout": 600,
                  "client_ip_pool": "172.16.0.0/16",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::vpn-server:r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f",
                  "enable_split_tunneling": true,
                  "health_reasons": [
                    {
                      "code": "cannot_access_client_certificate",
                      "message": "Failed to get VPN server's server certificate from Secrets Manager.",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-health"
                    }
                  ],
                  "health_state": "degraded",
                  "hostname": "a8506291.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": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-vpn-server",
                  "port": 443,
                  "private_ips": [
                    {
                      "address": "192.168.3.4",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/0717-bea6a632-5e13-42a4-b4b8-31dc877abfe4/reserved_ips/0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "id": "0717-6d353a0f-aeb1-4ae1-832e-1110d10981bb",
                      "name": "my-reserved-ip",
                      "resource_type": "subnet_reserved_ip"
                    }
                  ],
                  "protocol": "tcp",
                  "resource_group": {
                    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/fee82deba12e4c0fb69c3b09d1f12345",
                    "id": "fee82deba12e4c0fb69c3b09d1f12345",
                    "name": "my-resource-group"
                  },
                  "resource_type": "vpn_server",
                  "security_groups": [
                    {
                      "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::security-group:r006-be5df5ca-12a0-494b-907e-aa6ec2bfa271",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                      "deleted": {
                        "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                      },
                      "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",
                    "deleted": {
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
                    },
                    "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=2026-06-30&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<String, Object> vpnServerPatchModelAsPatch = vpnServerPatchModel.asPatch();\nUpdateVpnServerOptions updateVpnServerOptions = new UpdateVpnServerOptions.Builder()\n  .id(vpnServerId)\n  .vpnServerPatch(vpnServerPatchModelAsPatch)\n  .ifMatch(vpnServerETag)\n  .build();\n\nResponse<VPNServer> 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<ca>\n-----BEGIN CERTIFICATE-----\nxxxxxx\n-----END CERTIFICATE-----\n</ca>",
                "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=2026-06-30&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<String> 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.3.4"
                      },
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "disconnected_at": "2026-01-02T03:04:05.006Z",
                      "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": "192.168.3.4"
                      },
                      "remote_port": 22,
                      "resource_type": "vpn_server_client",
                      "status": "connected"
                    }
                  ],
                  "first": {
                    "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/clients?limit=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": 132
                },
                "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=2026-06-30&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<VPNServerClientCollection> 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=2026-06-30&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<Void> 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.3.4"
                  },
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "disconnected_at": "2026-01-02T03:04:05.006Z",
                  "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": "192.168.3.4"
                  },
                  "remote_port": 22,
                  "resource_type": "vpn_server_client",
                  "status": "connected"
                },
                "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=2026-06-30&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<VPNServerClient> 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=2026-06-30&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<Void> 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=20"
                  },
                  "limit": 20,
                  "next": {
                    "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": [
                    {
                      "action": "deliver",
                      "created_at": "2026-01-02T03:04:05.006Z",
                      "destination": "192.168.3.0/24",
                      "health_reasons": [
                        {
                          "code": "internal_error",
                          "message": "Internal error (contact IBM support).",
                          "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-route-health"
                        }
                      ],
                      "health_state": "degraded",
                      "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                      "id": "r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                      "lifecycle_reasons": [
                        {
                          "code": "internal_error",
                          "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                          "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                        }
                      ],
                      "lifecycle_state": "deleting",
                      "name": "my-vpn-route-1",
                      "resource_type": "vpn_server_route"
                    }
                  ],
                  "total_count": 132
                },
                "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=2026-06-30&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<VPNServerRouteCollection> 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": {
              "example": {
                "action": "deliver",
                "destination": "172.16.0.0/16",
                "name": "my-vpn-route-2"
              },
              "schema": {
                "$ref": "#/components/schemas/VPNServerRoutePrototype"
              }
            }
          },
          "description": "The VPN route prototype object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "action": "deliver",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "destination": "192.168.3.0/24",
                  "health_reasons": [
                    {
                      "code": "internal_error",
                      "message": "Internal error (contact IBM support).",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-route-health"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                  "id": "r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-vpn-route-1",
                  "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?version=2026-06-30&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<VPNServerRoute> 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=2026-06-30&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<Void> 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": "2026-01-02T03:04:05.006Z",
                  "destination": "192.168.3.0/24",
                  "health_reasons": [
                    {
                      "code": "internal_error",
                      "message": "Internal error (contact IBM support).",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-route-health"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                  "id": "r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-vpn-route-1",
                  "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=2026-06-30&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<VPNServerRoute> 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-route-2"
              },
              "schema": {
                "$ref": "#/components/schemas/VPNServerRoutePatch"
              }
            }
          },
          "description": "The VPN route patch",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "action": "deliver",
                  "created_at": "2026-01-02T03:04:05.006Z",
                  "destination": "192.168.3.0/24",
                  "health_reasons": [
                    {
                      "code": "internal_error",
                      "message": "Internal error (contact IBM support).",
                      "more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-server-route-health"
                    }
                  ],
                  "health_state": "degraded",
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/vpn_servers/r006-4ec65fe4-e68f-44ff-bc94-c9caf6123b5f/routes/r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                  "id": "r006-1a15dca5-7e33-45e1-b7c5-bc690e569531",
                  "lifecycle_reasons": [
                    {
                      "code": "internal_error",
                      "message": "The resource has been suspended. Contact IBM support with the CRN for next steps.",
                      "more_info": "https://cloud.ibm.com/apidocs/vpc#resource-suspension"
                    }
                  ],
                  "lifecycle_state": "deleting",
                  "name": "my-vpn-route-1",
                  "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=2026-06-30&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<String, Object> vpnServerRoutePatchModelAsPatch = vpnServerRoutePatchModel.asPatch();\nUpdateVpnServerRouteOptions updateVpnServerRouteOptions = new UpdateVpnServerRouteOptions.Builder()\n  .vpnServerId(vpnServerId)\n  .id(vpnServerRouteId)\n  .vpnServerRoutePatch(vpnServerRoutePatchModelAsPatch)\n  .build();\n\nResponse<VPNServerRoute> 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": "## Introduction\n\nWith the IBM Cloud® Virtual Private Cloud (VPC) API, you can programmatically provision and manage\nresources that are part of the IBM VPC Infrastructure as a Service (IaaS) across compute, storage,\nand networking. For more information on the IBM Cloud® Virtual Private Cloud and VPC\nresources, see [Getting started with Virtual Private Cloud\n(VPC)](https://cloud.ibm.com/docs/vpc?topic=vpc-getting-started).\n\n## SDKs\n\nSDKs for Java, Node, Python, and Go are available for this API. The client libraries that are\nprovided by the SDKs implement best practices for using the API and reduce the amount of code that\nyou need to write. The tab for each language includes references for using the client libraries.\n\nTo learn about using IBM Cloud® Virtual Private Cloud, see:\n\n- [Getting started with IBM Cloud VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-getting-started)\n- [Setting up your API and CLI environment](https://cloud.ibm.com/docs/vpc?topic=vpc-set-up-environment&interface=api)\n- [Creating VPC resources with CLI and\n  API](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-vpc-resources-with-cli-and-api&interface=api)\n\nThis documentation describes the [Go SDK](https://github.com/IBM/vpc-go-sdk/). For\ninformation about the latest Go SDK, see\n[Releases](https://github.com/IBM/vpc-go-sdk/releases). For instructions and examples on\nusing IBM Cloud services in an IBM Cloud SDK client library, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nThis documentation describes the [Java SDK](https://github.com/IBM/vpc-java-sdk). For\ninformation about the latest Java SDK, see\n[Releases](https://github.com/IBM/vpc-java-sdk/releases). For instructions and examples\non using IBM Cloud services in an IBM Cloud SDK client library, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nThis documentation describes the [Node SDK](https://github.com/IBM/vpc-node-sdk). For\ninformation about the latest Node SDK, see\n[Releases](https://github.com/IBM/vpc-node-sdk/releases). For instructions and examples\non using IBM Cloud services in an IBM Cloud SDK client library, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nThis documentation describes the [Python SDK](https://github.com/IBM/vpc-python-sdk).\nFor information about the latest Python SDK, see\n[Releases](https://github.com/IBM/vpc-python-sdk/releases). For instructions and\nexamples on using IBM Cloud services in an IBM Cloud SDK client library, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nFor installation instructions and other information, view the project on GitHub:\n[https://github.com/IBM/vpc-go-sdk/](https://github.com/IBM/vpc-go-sdk/). See also\n[Using the SDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nFor installation instructions and other information, view the project on GitHub:\n[https://github.com/IBM/vpc-java-sdk/](https://github.com/IBM/vpc-java-sdk/). See also\n[Using the SDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nFor installation instructions and other information, view the project on GitHub:\n[https://github.com/IBM/vpc-node-sdk/](https://github.com/IBM/vpc-node-sdk/). See also\n[Using the SDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nFor installation instructions and other information, view the project on GitHub:\n[https://github.com/IBM/vpc-python-sdk/](https://github.com/IBM/vpc-python-sdk/). See\nalso the Python client library for IBM Cloud VPC Services\n[https://pypi.org/project/ibm-vpc/](https://pypi.org/project/ibm-vpc/) and [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\n## Endpoint URLs\n\nThe IBM Cloud VPC API is available in the following IBM Cloud®\nregions:\n\n| Location                 | Region     | Public endpoint (service URL)            | Private endpoint (service URL)                   |\n|--------------------------|------------|------------------------------------------|--------------------------------------------------|\n| Australia (Sydney)       | `au-syd`   | `https://au-syd.iaas.cloud.ibm.com/v1`   | `https://au-syd.private.iaas.cloud.ibm.com`/v1   |\n| Brazil (São Paulo)       | `br-sao`   | `https://br-sao.iaas.cloud.ibm.com/v1`   | `https://br-sao.private.iaas.cloud.ibm.com/v1`   |\n| Canada (Montreal)        | `ca-mon`   | `https://ca-mon.iaas.cloud.ibm.com/v1`   | `https://ca-mon.private.iaas.cloud.ibm.com/v1`   |\n| Canada (Toronto)         | `ca-tor`   | `https://ca-tor.iaas.cloud.ibm.com/v1`   | `https://ca-tor.private.iaas.cloud.ibm.com/v1`   |\n| Germany (Frankfurt)      | `eu-de`    | `https://eu-de.iaas.cloud.ibm.com/v1`    | `https://eu-de.private.iaas.cloud.ibm.com/v1`    |\n| Spain (Madrid)           | `eu-es`    | `https://eu-es.iaas.cloud.ibm.com/v1`    | `https://eu-es.private.iaas.cloud.ibm.com/v1`    |\n| United Kingdom (London)  | `eu-gb`    | `https://eu-gb.iaas.cloud.ibm.com/v1`    | `https://eu-gb.private.iaas.cloud.ibm.com/v1`    |\n| India (Chennai)          | `in-che`   | `https://in-che.iaas.cloud.ibm.com/v1`   | `https://in-che.private.iaas.cloud.ibm.com/v1`   |\n| India (Mumbai)           | `in-mum`   | `https://in-mum.iaas.cloud.ibm.com/v1`   | `https://in-mum.private.iaas.cloud.ibm.com/v1`   |\n| Japan (Osaka)            | `jp-osa`   | `https://jp-osa.iaas.cloud.ibm.com/v1`   | `https://jp-osa.private.iaas.cloud.ibm.com/v1`   |\n| Japan (Tokyo)            | `jp-tok`   | `https://jp-tok.iaas.cloud.ibm.com/v1`   | `https://jp-tok.private.iaas.cloud.ibm.com/v1`   |\n| US East (Washington DC)  | `us-east`  | `https://us-east.iaas.cloud.ibm.com/v1`  | `https://us-east.private.iaas.cloud.ibm.com/v1`  |\n| US South (Dallas)        | `us-south` | `https://us-south.iaas.cloud.ibm.com/v1` | `https://us-south.private.iaas.cloud.ibm.com/v1` |\n\nSee also [Locations for resource deployment](https://cloud.ibm.com/docs/overview?topic=overview-locations).\n\nTo call the API, select the service URL that corresponds to the region of your choice and add a\nmethod path to form the complete request URL. For example, to list all images available in the\n`us-south` region, make a `GET` request to `https://us-south.iaas.cloud.ibm.com/v1/images`.\n\nTo change the SDK service URL, reinstantiate the service instance with a different region-specific\nURL. For more information, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nExample request to call the `us-south` service URL:\n\n```sh\ncurl -H \"Authorization: Bearer {token}\" -X {http_method} \"https://us-south.iaas.cloud.ibm.com/v1{path}\"\n```\n\nReplace `{token}`, `{http_method}`, and `{path}` in this example with the values for your particular\nrequest.\n\nDefault service URL:\n\n```text\nhttps://us-south.iaas.cloud.ibm.com/v1\n```\n\nExample to change the service URL to the United Kingdom region:\n\n```go\nauthenticator := &core.IamAuthenticator{\n  ApiKey: \"{api_key}\",\n}\n\n// Get the service URL for the specified region\nserviceURL, _ := vpcv1.GetServiceURLForRegion(\"eu-gb\")\n\noptions := &vpcv1.VpcV1Options{\n  Authenticator: authenticator,\n  URL: serviceURL,\n}\n```\n\nFor more information, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nDefault service URL:\n\n```text\nhttps://us-south.iaas.cloud.ibm.com/v1\n```\n\nExample to change the service URL to the United Kingdom region:\n\n```java\nAuthenticator authenticator = new IamAuthenticator(\"{api_key}\");\nVpc service = new Vpc(Vpc.DEFAULT_SERVICE_NAME, authenticator);\nservice.setServiceUrl(Vpc.getServiceUrlForRegion(\"eu-gb\"));\n```\n\nFor more information, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nDefault service URL:\n\n```text\nhttps://us-south.iaas.cloud.ibm.com/v1\n```\n\nExample to change the service URL to the United Kingdom region:\n\n```javascript\nconst options = {\n  authenticator: new IamAuthenticator({\n    apikey: '{api_key}'\n  }),\n  serviceUrl: VpcV1.getServiceUrlForRegion(\"eu-gb\"),\n};\n\nconst service = new VpcV1(options);\n```\n\nFor more information, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\nDefault service URL:\n\n```text\nhttps://us-south.iaas.cloud.ibm.com/v1\n```\n\nExample to change the service URL to the United Kingdom region:\n\n```python\nfrom ibm_vpc import VpcV1\nfrom ibm_cloud_sdk_core.authenticators import IAMAuthenticator\n\nauthenticator = IAMAuthenticator('apikey')\nservice = VpcV1(authenticator=authenticator)\nservice.set_service_url(VpcV1.get_service_url_for_region(\"eu-gb\"))\n```\n\nFor more information, see [Using the\nSDK](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-the-sdk).\n\n## Authentication\n\nThe IBM Cloud VPC API uses Identity and Access Management\n([IAM](https://cloud.ibm.com/docs/account?topic=account-iamoverview)) to authenticate requests. To call each API method,\nyou must be assigned a role that includes the required IAM actions. Each method has an Authorization\nsection that lists the required actions and, if applicable, the conditions under which each action\nis required. Check your access on the [IBM Cloud console](https://cloud.ibm.com/login)\nby navigating to **[Users](https://cloud.ibm.com/iam/users) > _User_ > Access**.\n\nFor more information about IAM actions and how they map to roles, see [Assigning access to account\nmanagement services](https://cloud.ibm.com/docs/account?topic=account-account-services&interface=api) and [Managing IAM\naccess for VPC Infrastructure Services](https://cloud.ibm.com/docs/vpc?topic=vpc-iam-getting-started&interface=api).\n\nLearn about obtaining an IAM token for an authenticated user or service ID in the [IAM Identity\nServices API](https://cloud.ibm.com/apidocs/iam-identity-token-api). If you first [create an API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api), you can use it to\n[generate an IAM token](https://cloud.ibm.com/docs/account?topic=account-iamtoken_from_apikey).\n\nTo use the API, add a valid IAM token to the HTTP `Authorization` request header. For example, `-H\n'Authorization: Bearer {token}'`.\n\nTo retrieve your access token:\n\n```sh\ncurl -X POST \\\n  \"https://iam.cloud.ibm.com/identity/token\" \\\n  --header 'Content-Type: application/x-www-form-urlencoded' \\\n  --header 'Accept: application/json' \\\n  --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \\\n  --data-urlencode 'apikey={api_key}'\n```\n\nTo use the API, replace `{token}` in the following example request with the token obtained from IAM\nin the previous request. Also replace `{http_method}` with an HTTP method such as `POST`, and\nreplace `{url}` with a request URL such as `https://us-south.iaas.cloud.ibm.com/v1/keys`:\n\n```sh\ncurl -H \"Authorization: Bearer {token}\" -X {http_method} \"{url}\"\n```\n\nWhen you use the SDK, configure an IAM authenticator with the IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api). The\nauthenticator automatically obtains the IAM access token for the API key and includes it with each\nrequest. You can construct an authenticator in either of two ways:\n\n- Programmatically, by constructing an IAM authenticator instance and supplying your IAM API key.\n- Externally, in configuration options that are then used by the SDK to construct an IAM\n  authenticator at run time.\n\nProvide external configuration options by either:\n\n- Storing the configuration options in environment variables. When you initialize the service\n  client, the SDK constructs the authenticator by reading the configuration properties directly from\n  the environment variables.\n- Saving the configuration options in a file. When you initialize the service client, the SDK\n  constructs the authenticator by reading the configuration properties from the file specified by\n  the `IBM_CREDENTIALS_FILE` environment variable.\n\nIn this example of using external configuration properties, an IAM authenticator instance is created\nwith the configured API key, and then the service client is constructed with this authenticator\ninstance and the configured service URL.\n\nFor more information, see the Authentication section in the [IBM Cloud SDK\nCommon](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#authentication)\ndocumentation.\n\nOutside of development and testing, never hard-code secrets (such as IAM API keys) into a client\napplication.\n\n**Setting client options programmatically**\n\nConstruct the service client programmatically, where `{api_key}` is your hardcoded IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api):\n\n```go\nimport {\n  \"github.com/IBM/go-sdk-core/v5/core\"\n  \"github.com/IBM/vpc-go-sdk/vpcv1\"\n}\n// Create an IAM authenticator.\nauthenticator := &core.IamAuthenticator{\n  ApiKey: \"{api_key}\",\n}\n// Construct an \"options\" struct for creating the service client.\noptions := &vpcv1.VpcV1Options{\n  Authenticator: authenticator,                            // required\n  URL:           \"https://us-east.iaas.cloud.ibm.com/v1\",  // optional\n}\n// Construct the service client.\nvpcService, err := vpcv1.NewVpcV1(options)\nif err != nil {\n  panic(err)\n}\n```\n\nService operations can now be invoked using the `vpcService` variable.\n\n**Setting client options through environment variables**\n\nExport environment variables to implement service client options, where `{service_url}` is an\nendpoint URL for the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nexport VPC_URL={service_url}\nexport VPC_AUTH_TYPE=iam\nexport VPC_APIKEY={api_key}\n```\n\nConstruct the service client using external configuration. `vpcv1.NewVpcV1UsingExternalConfig()`\ninitializes the client with the environment variables, using them for subsequent authentication.\n\n```go\nvpcService, err := vpcv1.NewVpcV1UsingExternalConfig()\n```\n\n**Setting client options through a credentials file**\n\nStore credentials in a file such as `my-credentials.env`, where `{service_url}` is an endpoint URL\nfor the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nVPC_URL={service_url}\nVPC_AUTH_TYPE=iam\nVPC_APIKEY={api_key}\n```\n\nExport the name of the file with an environment variable, where `{credential_file_path}` is the\nabsolute path to your credentials file, such as `\"$HOME/secrets/vpc-credentials.env\"`.\n\n```sh\nexport IBM_CREDENTIALS_FILE={credential_file_path}\n```\n\nConstruct the service client using external configuration. `vpcv1.NewVpcV1UsingExternalConfig()`\ninitializes with the defined credential file, using it for subsequent authentication.\n\n```go\nvpcService, err := vpcv1.NewVpcV1UsingExternalConfig()\n```\n\n**Setting client options programmatically**\n\nConstruct the service client programmatically, where `{api_key}` is your hardcoded IAM API key.\n\n```java\nimport com.ibm.cloud.is.vpc.v1.Vpc;\nimport com.ibm.cloud.sdk.core.security.Authenticator;\nimport com.ibm.cloud.sdk.core.security.IamAuthenticator;\n// Create an IAM authenticator.\nAuthenticator authenticator = new IamAuthenticator.Builder()\n  .apikey(\"{api_key}\")\n  .build();\n// Construct the service client.\nVpc service = new Vpc(Vpc.DEFAULT_SERVICE_NAME, authenticator);\n// Set our custom service URL (optional).\nservice.setServiceUrl(\"https://us-east.iaas.cloud.ibm.com/v1\");\n```\n\n**Setting client options through environment variables**\n\nExport environment variables to implement service client options, where `{service_url}` is an\nendpoint URL for the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nexport VPC_URL={service_url}\nexport VPC_AUTH_TYPE=iam\nexport VPC_APIKEY={api_key}\n```\n\nConstruct the service client using external configuration. `Vpc.newInstance()` initializes the\nclient with the environment variables, using them for subsequent authentication.\n\n```java\nimport com.ibm.cloud.is.vpc.v1.Vpc;\nVpc service = Vpc.newInstance();\n```\n\n**Setting client options through a credentials file**\n\nStore credentials in a file such as `my-credentials.env`, where `{service_url}` is an endpoint URL\nfor the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nVPC_URL={service_url}\nVPC_AUTH_TYPE=iam\nVPC_APIKEY={api_key}\n```\n\nExport the name of the file with an environment variable, where `{credential_file_path}` is the\nabsolute path to your credentials file, such as `\"$HOME/secrets/vpc-credentials.env\"`.\n\n```sh\nexport IBM_CREDENTIALS_FILE={credential_file_path}\n```\n\nConstruct the service client using external configuration. `Vpc.newInstance()` initializes with the\ndefined credential file, using it for subsequent authentication.\n\n```java\nimport com.ibm.cloud.is.vpc.v1.Vpc;\nVpc service = Vpc.newInstance();\n```\n\n**Setting client options programmatically**\n\nConstruct the service client programmatically, where `{api_key}` is your hardcoded IAM API key.\n\n```javascript\nconst VpcV1 = require('vpc-node-sdk/vpc/v1');\nconst { IamAuthenticator } = require('vpc-node-sdk/auth');\n\n// Create an IAM authenticator.\nconst authenticator = new IamAuthenticator({\n  apikey: '{api_key}',\n});\n\n// Construct the service client.\nconst vpcService = new VpcV1({\n  authenticator,                                       // required\n  serviceUrl: 'https://us-east.iaas.cloud.ibm.com/v1', // optional\n});\n```\n\n**Setting client options through environment variables**\n\nExport environment variables to implement service client options, where `{service_url}` is an\nendpoint URL for the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nexport VPC_URL={service_url}\nexport VPC_AUTH_TYPE=iam\nexport VPC_APIKEY={api_key}\n```\n\nConstruct the service client using external configuration. `VpcV1.newInstance()` initializes the\nclient with the environment variables, using them for subsequent authentication.\n\n```javascript\nconst VpcV1 = require('vpc-node-sdk/vpc/v1');\nconst vpcService = VpcV1.newInstance();\n```\n\n**Setting client options through a credentials file**\n\nStore credentials in a file such as `my-credentials.env`, where `{service_url}` is an endpoint URL\nfor the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nVPC_URL={service_url}\nVPC_AUTH_TYPE=iam\nVPC_APIKEY={api_key}\n```\n\nExport the name of the file with an environment variable, where `{credential_file_path}` is the\nabsolute path to your credentials file, such as `\"$HOME/secrets/vpc-credentials.env\"`.\n\n```sh\nexport IBM_CREDENTIALS_FILE={credential_file_path}\n```\n\nConstruct the service client using external configuration. `VpcV1.newInstance()` initializes with\nthe defined credential file, using it for subsequent authentication.\n\n```javascript\nconst VpcV1 = require('vpc-node-sdk/vpc/v1');\nconst vpcService = VpcV1.newInstance();\n```\n\n**Setting client options programmatically**\n\nConstruct the service client, where `{api_key}` is your hardcoded IAM API key\n\n```python\nfrom ibm_vpc import VpcV1\nfrom ibm_cloud_sdk_core.authenticators import IAMAuthenticator\n\n## Create an IAM authenticator.\nauthenticator = IAMAuthenticator('{api_key}')\n## Construct the service client.\nservice = VpcV1(authenticator=authenticator)\n## Set custom service URL (optional)\nservice.set_service_url('https://us-east.iaas.cloud.ibm.com/v1')\n```\n\n**Setting client options through environment variables**\n\nExport environment variables to implement service client options, where `{service_url}` is an\nendpoint URL for the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nexport VPC_URL={service_url}\nexport VPC_AUTH_TYPE=iam\nexport VPC_APIKEY={api_key}\n```\n\nConstruct the service client using external configuration. `VpcV1.new_instance()` initializes the\nclient with the environment variables, using them for subsequent authentication.\n\n```python\nfrom ibm_vpc import VpcV1\nservice = VpcV1.new_instance()\n```\n\n**Setting client options through a credentials file**\n\nStore credentials in a file such as `my-credentials.env`, where `{service_url}` is an endpoint URL\nfor the service and `{api_key}` is an IAM [API\nkey](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=api#create_user_key-api).\n\n```sh\nVPC_URL={service_url}\nVPC_AUTH_TYPE=iam\nVPC_APIKEY={api_key}\n```\n\nExport the name of the file with an environment variable, where `{credential_file_path}` is the\nabsolute path to your credentials file, such as `\"$HOME/secrets/vpc-credentials.env\"`.\n\n```sh\nexport IBM_CREDENTIALS_FILE={credential_file_path}\n```\n\nConstruct the service client using external configuration. `VpcV1.new_instance()` initializes with\nthe defined credential file, using it for subsequent authentication.\n\n```python\nfrom ibm_vpc import VpcV1\nservice = VpcV1.new_instance()\n```\n\n### Authorization\n\nAccess to VPC infrastructure resources is managed through\n[IAM](https://cloud.ibm.com/docs/account?topic=account-iamoverview). IAM provides the ability to manage resources through\n[resource groups](https://cloud.ibm.com/docs/vpc?topic=vpc-iam-getting-started&interface=api#iam-resource-groups) and\n[access management\ntags](https://cloud.ibm.com/docs/vpc?topic=vpc-iam-getting-started&interface=api#iam-access-management-tags). For more\ninformation, see [Managing IAM access for VPC Infrastructure\nServices](https://cloud.ibm.com/docs/vpc?topic=vpc-iam-getting-started).\n\n## Auditing\n\nIBM Cloud services, such as IBM Cloud VPC, generate\nactivity tracking events. Activity tracking events report on activities that change the state of\nresources in IBM Cloud and also report on certain activities that do not\nchange any state, such as attempts to access and update resources. You can use the events to\ninvestigate abnormal activity and critical actions and to comply with regulatory audit requirements.\n\nMonitor API activity within your account by using IBM Cloud Activity Tracker Event Routing, a\nplatform service, to route auditing events to destinations of your choice. Configure targets and\nroutes that define where activity tracking events are sent. Each time you make an API call, one or\nmore events are generated that you can track and audit. Specific event types are listed for each\nmethod that generates auditing events. For methods that don't list any events, no events are\ngenerated. For more information, see [About\nIBM Cloud Activity Tracker Event Routing](https://cloud.ibm.com/docs/atracker?topic=atracker-about) and [Activity\ntracking events for IBM Cloud VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-at_events&interface=ui).\n\nYou can also use IBM Cloud Logs to visualize and alert on events that are\ngenerated in your account and routed by IBM Cloud Activity Tracker Event Routing to an\nIBM Cloud Logs instance. For more information, see [Getting started with IBM\nCloud Logs](https://cloud.ibm.com/docs/cloud-logs?topic=cloud-logs-getting-started).\n\n## Error handling\n\nThis API uses standard HTTP response codes to indicate the outcome of a request. A `4xx`-series\nresponse indicates a failure that the client must resolve. A `5xx`-series response indicates a\nservice failure.\n\n| HTTP Error Code | Description | Recovery |\n|------------------|-------------|-------------|\n| `400` | Bad Request | The input parameters in the request body are either incomplete, malformed, or too large. Be sure to include all required parameters in your request.|\n| `401` | Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try submitting the request again. If this error persists, contact the account owner to check your permissions.|\n| `403` | Forbidden | The supplied authentication is not authorized to perform the requested operation. Either you do not have valid access through IAM access policies or your request is denied due to the [context-based restriction policy](https://cloud.ibm.com/docs/vpc?topic=vpc-cbr). If this error persists, contact the account owner to check your permissions.|\n| `404` | Not Found | The requested resource could not be found but may be available in the future. |\n| `405` | Method Not Allowed | The requested resource does not support the request method. |\n| `406` | Not Acceptable | The resource the client requested is not available in a format allowed by the `Accept` header supplied by the client. |\n| `408` | Request Timeout | The connection to the server timed out. Wait a few minutes, and try submitting the request again. |\n| `409` | Conflict | The request cannot be completed because of a conflict between the request and the current state of the resource. |\n| `412` | Precondition Failed | The client specified one or more preconditions in its headers, and the server cannot meet those preconditions. |\n| `426` | Upgrade Required | The server refuses to perform the request using the current protocol but might perform the request after the client upgrades to a different protocol. |\n| `500` | Internal Server Error | The request cannot be processed because the client encountered an unexpected condition on the server. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. |\n| `501` | Not Implemented | The server either does not recognize the request method, or it lacks the ability to fulfill the request.|\n| `502` | Bad Gateway | The server was acting as a gateway or proxy and received an invalid response from the upstream server.|\n| `503` | Service Unavailable | The server cannot process the request. Generally, this condition is temporary, such as when a server is overloaded or down for scheduled maintenance. This condition could also be due to an unplanned outage of a service that is needed to process the request. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support.|\n| `504` | Gateway Timeout | The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.|\n| `505` | HTTP Version Not Supported | The server does not support the HTTP protocol version that is used in the request. |\n\nIf the server is unable to perform any part of the requested operation, the entire operation will\nfail, resulting in no observable change to any of the resources. For example, if a `PATCH` request\nis made to change two properties, but the caller is not authorized to change one of the properties,\nthe request will fail with `403 Unauthorized`, and the resource will be unchanged. Similarly, if a\n`GET /volumes` request is made to retrieve all the caller's volumes in the region, but one of the\nvolumes is using a beta feature that cannot be expressed through the GA API schema, the entire\nrequest will fail, resulting in no volumes being returned.\n\nBecause the `500 Internal Server Error` and `408 Request Timeout` HTTP status codes may be generated\nby entities between your client and the server (such as a reverse proxy), it is possible that the\nserver successfully processed your client's request, but that your client still received `500` or\n`408` from one of these entities. Therefore, when processing those status codes in response to a\n`DELETE`, `PATCH, `POST`, or `PUT` request, you must not assume the request failed.\n\nError handling example:\n\n```go\nimport \"github.com/IBM/vpc-go-sdk/vpcv1\"\n\n// Instantiate a service\nvpcService, vpcServiceErr := vpcv1.NewVpcV1(options)\n\n// Check for errors\nif vpcServiceErr != nil {\n  panic(vpcServiceErr)\n}\n\n// Call a method\nlistVpcsOptions := &vpcv1.ListVpcsOptions{}\n  vpcs, _, err := vpcService.ListVpcs(listVpcsOptions)\n\n// Check for errors\nif err != nil {\n  panic(err)\n}\n```\n\nError handling example:\n\n```java\ntry {\n  // Invoke an operation\n  Response<Resource> response = service.getResource(options).execute();\n\n  // Process response...\n\n} catch (BadRequestException e) {\n  // Handle Bad Request (400) exception\n} catch (UnauthorizedException e) {\n  // Handle Unauthorized (401) exception\n} catch (NotFoundException e) {\n  // Handle Not Found (404) exception\n} catch (RequestTooLargeException e) {\n  // Handle Request Too Large (413) exception\n} catch (ServiceResponseException e) {\n  // Base class for all exceptions caused by error responses from the service\n  System.out.println(\"Service returned status code \"\n    + e.getStatusCode() + \": \" + e.getMessage());\n  System.out.println(\"Detailed error info:\\n\" + e.getDebuggingInfo().toString());\n}\n```\n\nError handling example:\n\n```javascript\ntry {\n    const response = await vpcService.getResource();\n    // ...handle successful response...\n} catch (err) {\n    // ...handle error response...\n    console.log(\"Error status code: \" + err.status + \" (\" + err.statusText + \")\");\n    console.log(\"Error message:     \" + err.message);\n}\n```\n\nExample of error handling:\n\n```python\nfrom ibm_cloud_sdk_core import ApiException\n\ntry:\n    vpcs = service.list_vpcs().get_result()['vpcs']\nexcept ApiException as e:\n    print(\"List VPC failed with status code \" + str(e.code) + \": \" + e.message)\n```\n\n## Versioning\n\nThis reference documents API behavior for any date value in the `version` parameter between\n`2025-12-09` and `2026-01-27`. To view the reference for an older version of the API, select it\nfrom the **Version** list.\n\nRequests to the VPC API require a major version as the first segment of the request path (`/v1/`)\nand a date-based version as a query parameter in the format `version=YYYY-MM-DD`.\n\nThe VPC API supports a continuous series of version dates from `2019-01-01` to today's date (in\nUTC).\n\nThe VPC API adheres to the IBM Cloud API Handbook [change compatibility\nguidelines](https://cloud.ibm.com/docs/api-handbook?topic=api-handbook-change-compatibility). As a\nresult, most changes to the VPC API are designed to be compatible with existing clients and are made\navailable to clients that specify any supported version date. For example, support for new paths,\nnew optional parameters, and additional properties in responses are considered backward compatible\nand, when possible, are made available without respect to the version date specified by a client.\n\nBy design, backward-incompatible changes, such as the removal or restructuring of existing\nproperties or parameters, are made available only for clients that specify version dates on or\nafter the feature became available.\n\nTo maximize the compatibility of your client with future API changes, follow the [best\npractices](#api-best-practices) for client development.\n\nWhen you develop a new client, specify the current date (as of the time of development) as a fixed\nvalue for the `version` parameter, and keep that same fixed version date value when you test and\nship your client. **Do not** specify a value for the `version` parameter that is dynamically\ncomputed based on the date your code is compiled or executed.\n\nFeatures that require clients to specify a later version date are specifically noted in the [change\nlog](https://cloud.ibm.com/docs/vpc?topic=vpc-api-change-log), along with guidance on how to migrate your client to work\nwith newer versions.\n\nAs a best practice, review the change log on a periodic basis. To use the latest features and\nmaintain ongoing compatibility, update and test your client with a newer version date. As with new\nclients, specify the current date (as of the time you update your client code) as a fixed value for\nthe `version` parameter.\n\n### Deprecation\n\nA method, path, parameter, property or other feature will be marked as deprecated when usage is no\nlonger recommended, such as when it's been rendered obsolete by new features. After a feature is\ndeprecated, support for that feature may be removed for clients that specify new version dates.\n\nFeatures that are no longer supported in new API versions are specifically noted in the [change\nlog](https://cloud.ibm.com/docs/vpc?topic=vpc-api-change-log), along with guidance on how to migrate your client to work\nwith newer versions.\n\nThe oldest supported version date (currently `2019-01-01`) may be moved forward in the future,\nnecessitating clients to specify a newer version date and make any updates needed to work with that\nnewer version.\n\nEach SDK version uses a corresponding version of the API that it was developed and tested to be\ncompatible with.\n\nExample request to list regions in the API:\n\n```text\ncurl -X GET \\\n  \"$vpc_api_endpoint/v1/regions?generation=2&version=$version\" \\\n  -H \"Authorization: Bearer $iam_token\"\n```\n\n### Property value expansion\n\nUnless explicitly stated otherwise, relaxing constraints for a property's values is considered a\nbackward-compatible change that is expected to occur to accommodate new features or products.\nBackward-compatible property value expansion supports the following:\n\n- For numeric properties: increasing maximum values or decreasing minimum values\n- For array properties: increasing maximum item counts or decreasing minimum item counts\n- For string properties: increasing maximum lengths or decreasing minimum lengths\n- For cron specification properties: increasing the scheduling frequency\n- For enumerations: expanding the set of enumerated values\n- For `One of`: adding choices to an existing `One of` selection\n\nFor example, the `maximum` value for the Share `iops` property in the specification reflects the\ncurrent maximum IOPS that can be supported by the IBM Cloud VPC File Storage\nservice. However, the value in the specification may be subsequently increased, even for existing\nAPI versions. Likewise, the values for enumerations, such as the Share `access_control_mode`,\n`encryption`, and `replication_status` properties may be subsequently expanded, even for existing\nAPI versions. Additionally, a set of `One of` choices, such as adding another choice for security\ngroup [`targets`](https://cloud.ibm.com/apidocs/vpc/latest#get-security-group), may be expanded in the future for\nexisting API versions.\n\nTo maximize the compatibility of your client with future API changes, follow the [best\npractices](#api-best-practices) for client development.\n\n## Concurrent update protection\n\nTo prevent multiple clients from unknowingly overwriting each other's updates, select API methods\nsupport entity-tags and conditional requests as specified in [RFC\n7232](https://datatracker.ietf.org/doc/html/rfc7232).\n\nTo make a conditional request, first issue a `GET` request on the resource to retrieve its\nup-to-date representation. The response will include an `ETag` header, whose value is a fingerprint\nof the resource's current client-configurable state. Next, verify that the method you want to\nperform (typically an update or a delete) is appropriate given the current state of the resource.\nFor example, you may want to only delete a VPN server if its `port` property has a specific value.\nFinally, if the resource is still in the appropriate state, issue the API request, as usual, but\nmake the request _conditional_ by including an `If-Match` header with its value set to the `ETag`\nvalue from the earlier `GET` request.\n\nBecause the `If-Match` header was provided, the server will check that the resource's current `ETag`\nvalue (which reflects the client-configurable state) matches the value you provided in the\n`If-Match` header. If the two values match, the server can be certain the resource has not been\nupdated in the interim, and request processing continues as usual. Otherwise, the resource was\nupdated (by another client) between the time you issued the `GET` and the time you issued the\nconditional request, and the request will fail with `412 Precondition Failed`. Because a resource\nmay be updated by another client at any time, clients issuing conditional requests must be written\nto check for a `412` failure, and if encountered, restart the sequence by reissuing the original\n`GET` request.\n\nBecause `412` indicates that the resource has been updated, before reissuing the conditional\nrequest, the client must both retrieve the latest `ETag` value using `GET` _and_ verify that the\nrepresentation of the resource is still appropriate for the conditional request.\n\nFor additional safety, the VPC API requires that any `PATCH` request that includes an array property\nmust also provide an `If-Match` header. For example, a `PATCH /volumes/{id}` request that includes\nthe `user_tags` array property will fail with `400 Bad Request` if the `If-Match` header is not\nprovided. In contrast, a `PATCH /volumes/{id}` request to modify just the `name` string property\nneed not provide an `If-Match` header (since no array is present). However, if the `If-Match` header\nis provided, the server will check its value and will return `412 Precondition Failed` if the value\nis not current.\n\nThe `ETag` and `If-Match` headers must be used only on methods that have explicit documentation that\nthose headers are supported. Other related headers described in RFC 7232, such as `If-None-Match`\nand `If-Modified-Since`, are not supported at this time.\n\n## Maturity query parameter\n\nAPI requests accept a `maturity` query parameter. This parameter lets you decide on the level of\nstability to use before features become generally available.\n\nFor the API behavior documented in this reference, omit the `maturity` query parameter. For\ninformation on making `beta` requests, see the [Beta VPC API\nreference](https://cloud.ibm.com/apidocs/vpc-beta#maturity-query-parameter-beta).\n\n## Pagination\n\nSome API requests can return many results. To improve performance, results are returned one page at\na time, with a limited number of results on each page. The default page size is typically 50 items,\nwith a maximum size of 100.\n\nThe default and maximum limits might vary by operation. To specify a different page size, use the\n`limit` query parameter.\n\nFor a request that uses pagination, the response includes additional properties:\n\n- The `first.href` property links to the first page of resources\n- The `next.href` property links to the next page of resources (included for all pages except for\n  the last page)\n\nUse query parameters to page through your available resources and retrieve a subset of objects. To\nretrieve the first page of results, make the request without specifying a `start` query parameter.\nIf the results cannot fit on the first page, the response will include a `next` property, whose\nvalue can then be specified as the `start` parameter when making the next page request. Each page of\nresults is based on the resources that exist at the time of each paginated request, and therefore\nmay include resources that did not exist when the first request was made. The last page of results\nwill not include a `next` property.\n\nWhen you're retrieving a subset of objects:\n\n- You must add the `version` and `generation` query parameters to the `href` value before you make\n  the request\n- You may use the value of `first.href` to retrieve the first page of resources in the requested\n  sort order and with the requested filters\n- You may use the value of `next.href` to retrieve the next page of resources in the requested sort\n  order and with the requested filters\n- You may not change the requested filters across page retrievals\n- You may not add a `sort` query parameter to the `href` value (sort order is set by the first\n  paginated list request)\n- You may modify the `limit` in the `href` value to limit the number of resources to return, per\n  page, in a paginated list operation\n- You may not change the path segments of the request (that is, anything before the `?` in the\n  `href` value)\n\nList the first five keys: `.../keys?limit=5`\n\nList the first five keys on the next page: `.../keys?limit=5&start=9d5a91a3e2cbd233b5a5b33436855ed1`\n\nThe `next` value comes from the previous response's `start` value, which is a link. Here's the href\nfrom the response of the first page:\n\n```json\n\"href\": \"https://us-south.iaas.cloud.ibm.com/v1/vpcs?limit=1&start=r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217\"\n```\n\nUse the `start` value `r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217` in your next call to fetch page 2:\n\n```go\nnext := \"r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217\"\n\tlistVpcsOptions := &vpcv1.ListVpcsOptions{\n\t\tLimit: core.Int64Ptr(1),\n\t\tStart: &next,\n\t}\n\tvpcs, _, err := vpcService.ListVpcs(listVpcsOptions)\n```\n\nThe `next` value comes from the previous response's `start` value, which is a link. Here's the href\nfrom the response of the first page:\n\n```json\n\"href\": \"https://us-south.iaas.cloud.ibm.com/v1/vpcs?limit=1&start=r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217\"\n```\n\nUse the start value r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217 in your next call to fetch page 2:\n\n```java\nListVpcsOptions listVpcsOptions = new ListVpcsOptions.Builder()\n.start(\"r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217\")\n.limit(Long.valueOf(\"10\"))\n.build();\nResponse<VPCCollection> response = service.listVpcs(listVpcsOptions).execute();\nVPCCollection vpcCollectionResult = response.getResult();\n```\n\nThe `next` value comes from the previous response's `start` value, which is a link. Here's the\n`href` from the response of the first page:\n\n```json\n\"href\": \"https://us-south.iaas.cloud.ibm.com/v1/vpcs?limit=1&start=r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217\"\n```\n\nCopy the `start` value `r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217` to the clipboard, and use that\nvalue in your next call to fetch page 2:\n\n```javascript\n      const listVpcsResult = vpcService.listVpcs({\n          start: 'r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217',\n          limit: 10,\n        });\n```\n\nThe `next` value comes from the previous response's `start` value, which is a link. Here's the href\nfrom the response of the first page:\n\n```json\n\"href\": \"https://us-south.iaas.cloud.ibm.com/v1/vpcs?limit=1&start=r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217\"\n```\n\nUse the start value r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217 in your next call to fetch page 2:\n\n```python\n    next = response.get_result()['next']\ntry:\n    response = service.list_vpcs(start=\"r134-fe06d70f-ec6c-4451-b0a2-37b6ec91a217\", limit=1).get_result()['vpcs']\nexcept ApiException as e:\n    print(\"List VPC failed with status code \" + str(e.code) + \": \" + e.message)\n```\n\n## Response model properties\n\nCertain properties are included in API responses for all customer-created VPC resources. The\n`created_at` value is a timestamp that matches when the resource became visible through calls to the\nIBM Cloud VPC API.\n\n## Generation\n\nTo use the IBM Cloud VPC infrastructure, send the `generation=2` query parameter\nwith every API request.\n\nExample: Create a VPC\n\n```text\nPOST /v1/vpcs?generation=2\n```\n\n## Variables\n\nConsider storing frequently used values (such as the API service URL, authorization token, API\nversion, and other resource identifiers) in variables.\n\nThe following topics contain information on setting variables:\n\n- [Setting up your API and CLI environment](https://cloud.ibm.com/docs/vpc?topic=vpc-set-up-environment&interface=api)\n- [Using the REST APIs to create VPC\n  resources](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-vpc-resources-with-cli-and-api&interface=api#creating-a-vpc-using-the-rest-apis)\n  \n\nExample of storing the `us-south` service URL in a variable:\n\n```sh\nvpc_api_endpoint=https://us-south.iaas.cloud.ibm.com\n```\n\n## Resources\n\nThe VPC API is structured around resources of various types, such as block storage volumes (called\n\"volumes\" in the API), and virtual server instances (called \"instances\" in the API). Each resource\nconsists of a set of properties and supports a set of operations, such as updating some of its\nproperty values, or deleting the resource. Certain complex resources also have _child_ resources.\nFor example, the instance resource has one or more volume attachment child resources, with each\nvolume attachment associating the instance with a volume it uses. As with other resources, child\nresources also have a set of properties and a set of operations, which can be performed on the child\nresource. Child resources can also have their own child resources.\n\nThere is a hierarchical relationship between a resource and its child resources, which is reflected\nin VPC's API path hierarchy. For example, the API path to retrieve a volume attachment is `GET\n/instances/{instance_id}/volume_attachments/{id}`, reflecting that every volume attachment has an\ninstance as its _parent_ resource. This hierarchy is also evident in their lifecycles: deleting an\ninstance will delete all of its child resources, including all of its volume attachments.\n\nResources that appear in the first segment of the API path hierarchy, such as `/instances` in the\nprevious example, are sometimes referred to as _top-level_ resources. By convention, top-level\nresources in the VPC API have `crn` properties that provide the resource's global Cloud Resource\nName (CRN). These CRNs enable top-level resources to be integrated with other IBM Cloud services,\nsuch as IAM, billing, and global tagging. For example, because volume attachments are a child\nresource and do not have their own CRNs, it is not possible to create an IAM policy for a specific\nvolume attachment. Instead, the IAM policies for the parent instance's CRN control access to its\nvolume attachments.\n\nIn many situations, the distinction between a top-level resource and a child resource is not\nimportant, and the term \"resource\" is often used to refer to either type of resource.\n\n### Resource modeling\n\nEach resource type in the VPC API is represented by a handful of data models, which tailor the\nresource's properties to the operation being performed:\n\nPrototype model\n:   Used in the request body when creating a resource with `POST`.\n\nBase model\n:   Returned in the response body when retrieving a resource with `GET`. This model is\n  also returned in the response body from many other operations, such as when creating a resource.\n\nPatch model\n:   Used in the request body when updating a resource with `PATCH`.\n\nIdentity model\n:   Used when identifying a resource in a request body.\n\nReference model\n:   Used when identifying a resource in a response body.\n\nModels go hand in hand with _objects_. An object is an instantiation of a model. For example, `POST\n/instances` requires a request body that adheres to the `InstancePrototype` model, and that request\nbody is an _instance prototype object_. The response body from `POST /instances` adheres to the\n`Instance` model, and that response body is an _instance object_. Likewise, the `PATCH\n/instances/{id}` request body is an `InstancePatch` object, and the response body is an `Instance`\nobject.\n\nIn the VPC API, resources are often associated with other resources. When creating an association\nwith a resource, that resource's _identity_ model is used. For example, `POST\n/instances/{id}/volume_attachments`, which creates a new volume attachment, expects a\n`VolumeAttachmentPrototype` object. That object includes a `volume` property (`VolumeIdentity`\nmodel) that identifies the volume to attach. As a convenience, some resources have multiple\nways to identify them, such as `volume.crn`, `volume.id` or `volume.href` in this scenario.\n\nFor an association to succeed, the caller's IAM policies must permit the caller to operate on the\nidentified resource. Additionally, the identified resource must be in the caller's account unless a\nspecific property documents an exception.\n\nTo ensure predictable behavior, mutable properties, such as a resource's mutable name, are never\nincluded in identity models.\n\nWhen a resource is retrieved, its association with another resource is shown using that resource's\n_reference_ model. Continuing the previous example, `GET\n/instances/{instance_id}/volume_attachments/{id}` returns a `VolumeAttachment` object, which\nincludes a `volume` property (`VolumeReference` model). In addition to including the identifiers\nthat were present in the `VolumeIdentity` model (`volume.crn`, `volume.id`, and `volume.href`), it\nalso includes its `volume.name`, and an optional `volume.deleted` property, which indicates that\nthe resource no longer exists.\n\nMany reference models also include a `resource_type` property, which is essential in polymorphic\ncontexts. For example, the floating IP resource (`FloatingIP` model) includes a `target` property,\nwhich is a `oneOf` that can refer to a `NetworkInterfaceReference` or a `PublicGatewayReference`\ndepending on the way the floating IP resource was created. Further, new types of floating IP targets\nmight be introduced in the future. A client that calls `GET /floating_ips/{id}` can check the value\nof `target.resource_type` to determine if `target` refers to a network interface resource, a public\ngateway resource, or another resource type that was introduced after the client was developed.\n\nThe properties in a resource's identity and reference models are not subject to that resource's IAM\npolicies. For example, although the `volume` property included in the response from `GET\n/instances/{instance_id}/volume_attachments/{id}` included identifying information about the volume,\nsuch as its `name` and `id`, the caller did not need an IAM policy to read the volume. This design\nfacilitates adhering to least privilege, because the caller can understand the associations a\nresource has with other resources without having to be granted access to see the specifics of the\nassociated resources. However, because of this design, it's important to never place sensitive\ninformation in a resource's name.\n\n### Resource names\n\nVPC resource names adhere to a common regular expression that:\n\n- Forbids uppercase characters\n- Forbids trailing dashes\n- Reserves leading dashes for system use\n- Has a name length of 1 - 63 characters\n- Allows leading digits for system-owned resources (and, eventually, for all resources)\n    - On a request, the permitted regex is\n      `^([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]))$`.\n\n      Resources that do not yet allow leading digits use `^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$`.\n      \n\n    - On a response, the possible regex is\n      `^-?([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]))$`.\n\nResource namespaces are per resource type and per account. For example, a volume and a server in the\nsame availability zone (AZ) and account can both be named `b`, and two accounts can both contain a\nvolume that is named `b` in the same AZ.\n\nFor a resource type within an account:\n\n- If the resource is scoped within a parent resource, names must be unique within that parent\n  resource.\n- If the resource is scoped within a VPC, names must be unique within that VPC.\n- If the resource is regional (or smaller), names must be regionally unique.\n\nIf a resource's namespace can contain both customer-created and IBM-created resources, all\nIBM-created resources (such as IBM-provided images) begin with `ibm-`. Customers are unable to\ncreate resources with the prefix `ibm-`.\n\nResource names that begin with a hyphen (`-`) are reserved for system use and are sometimes used in\nplace of user-defined names. For example, names included with [references to deleted\nresources](#deleted-resources) are prefixed with `-deleted-`.\n\nIf you don't name a resource during resource creation, the system automatically generates a resource\nname.\n\n### Deleted resources\n\nIn some responses, embedded resource references may refer to resources that have been deleted. This\npossibility is noted in contexts where it's expected. Rarely, references to deleted resources may\nalso appear when the system cannot resolve a conflict between concurrent requests.\n\nThe presence of a `deleted` property can be used to determine that a reference is to a deleted\nresource. The `deleted` property contains an object with a `more_info` link to relevant\ndocumentation.\n\nAs shown in the example, references to deleted resources will have a `name` prefixed with\n`-deleted-` and suffixed with a value to ensure the resource remains unique within its namespace,\neven if its user-defined name has been reused. This `name` should not be parsed for information and\nmay not contain any part of the original user-defined `name`.\n\nDeleted resource reference example:\n\n```json\n{\n  \"name\": \"-deleted-e1b7144d1645\",\n  \"href\": \"https://us-south.iaas.cloud.ibm.com/v1/volumes/b6b9395e-6a4d-4291-b824-e1b7144d1645\",\n  \"crn\": \"crn:[...]\",\n  \"deleted\": {\n    \"more_info\": \"https://cloud.ibm.com/apidocs/vpc#deleted-resources\"\n  }\n}\n```\n\n### Remote resources\n\nIn some responses, embedded resource references may refer to resources that are in another region,\nin another account, or in both another region and another account. If a given reference can be\nremote, the specification will include a `remote` property, which can contain `account` and `region`\nchild properties, which identify the remote account and remote region for the resource,\nrespectively.\n\nThe remote reference shown in the example shows a source image that is both in a different account,\nand in a region (`us-south`) that is different from the region being called (`us-east`). Because the\nresource has no representation in the region being called, the `href` for the resource refers to its\nnative region (`us-south.iaas.cloud.ibm.com`). In contrast, because the `remote.region` has a\nrepresentation in the region being called, the `remote.region.href` refers to the called region\n(`us-east.iaas.cloud.ibm.com`).\n\nRemote resource reference example:\n\n```json\n{\n  \"crn\": \"crn:v1:bluemix:public:is:us-south:a/02828f9c8fd74b73859d371a406af2a1::image:72b27b5c-f4b0-48bb-b954-5becc7c1dcb8\",\n  \"id\": \"72b27b5c-f4b0-48bb-b954-5becc7c1dcb8\",\n  \"href\": \"https://us-south.iaas.cloud.ibm.com/v1/images/72b27b5c-f4b0-48bb-b954-5becc7c1dcb8\",\n  \"name\": \"my-image\",\n  \"remote\": {\n    \"account\": {\n      \"id\": \"02828f9c8fd74b73859d371a406af2a1\",\n      \"resource_type\": \"account\"\n    },\n    \"region\": {\n       \"href\": \"https://us-east.iaas.cloud.ibm.com/v1/regions/us-south\",\n       \"name\": \"us-south\",\n       \"resource_type\": \"region\"\n    }\n  }\n}\n```\n\nWhen authoring clients that operate on remote references, bear the following in mind:\n\n- The resource may have the same name as another local resource, which it may have no relationship\n  to.\n- Mutable information, such as its name and whether it has been deleted, may not be current.\n- The resource cannot be directly accessed and may not be accessible at all. For example, attempting\n  to retrieve the example resource using `GET /v1/images/72b27b5c-f4b0-48bb-b954-5becc7c1dcb8`\n  results in `404` because the resource is in another account. However, if the resource had been in\n  the same account, but still in a different region, the `GET` method would result in a `301 Moved\n  Permanently`, allowing clients that support redirects to retrieve the resource from its native\n  region.\n\nAs discussed in [Resources](#api-resources), reference models are not subject to the resource's IAM\npolicies. Therefore, even if the IAM policy that allowed the remote reference to be established is\nrevoked, any remote references that were previously established may continue to have their `name`\nupdated. Because of this design, it's important to never place sensitive information in a resource's\nname.\n\n### Resource suspension\n\nIndividual resources that violate IBM Cloud® [terms of\nuse](https://cloud.ibm.com/docs/overview?topic=overview-terms) will be suspended. Potential resources that can be\nsuspended include virtual server instances, VPN gateways and VPN servers.\n\nWhile a resource is suspended, it cannot be used, modified, or deleted. For example, suspended\nvirtual server instances are powered off, and their configuration may not be changed. Connections to\nVPN gateways and servers are disabled.\n\nResources that have been suspended will have a `lifecycle_state` of `suspended`\tand a\n`lifecycle_reasons[].code` of `resource_suspended_by_provider`. For information about restoring a\nsuspended resource, see [Resource suspension](https://cloud.ibm.com/docs/vpc?topic=vpc-resource-suspension) in VPC\nGetting Started.\n\n## API best practices\n\nTo minimize bugs caused by changes, follow these best practices when making an API requests:\n\n- When processing values for properties that have been [expanded](#property-value-expansion), such\n  as for numeric, array, string, and enumeration values, check for and log unknown values.\n  Optionally halt processing and surface the error, or bypass the resource on which the unexpected\n  property value was encountered.\n- Catch and log any `4xx` or `5xx` HTTP status code along with the included `trace` property\n- Follow HTTP redirect rules for any `3xx` HTTP status code.\n- Use only the resources and properties that are needed for your client to function.\n- Do not send any extraneous input in a request.\n- Specify a fixed value for the API [`version`](#api-versioning) parameter\n- Avoid depending on any behavior that is not explicitly documented.\n\n## Change log\n\nImportant changes to the API, such as additions, updates, and deprecations, are documented in\nthe [change log](https://cloud.ibm.com/docs/vpc?topic=vpc-api-change-log).\n\nFeatures that require clients to specify a later version date are specifically noted in the [change\nlog](https://cloud.ibm.com/docs/vpc?topic=vpc-api-change-log), along with guidance on how to migrate your client to work\nwith newer versions. See [Versioning](#api-versioning) for more information.\n\nSDK changes are based on API changes. When a new API version is available, the SDK reflects changes\nin the API.\n\n## Related APIs\n\n- [Beta Virtual Private Cloud API](https://cloud.ibm.com/apidocs/vpc-beta)\n- [Virtual Private Cloud Identity API](https://cloud.ibm.com/apidocs/vpc-identity)\n- [Beta Virtual Private Cloud Identity API](https://cloud.ibm.com/apidocs/vpc-identity-beta)\n- [Virtual Private Cloud Metadata API](https://cloud.ibm.com/apidocs/vpc-metadata)\n- [Beta Virtual Private Cloud Metadata API](https://cloud.ibm.com/apidocs/vpc-metadata-beta)\n- [Identity and Access Management API](https://cloud.ibm.com/apidocs/iam-identity-token-api#create-profile)",
    "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": "2026-06-30",
    "x-ibm-end-version": "2026-06-30",
    "x-ibm-start-version": "2026-04-07",
    "x-sdk-supported-languages": [
      "go",
      "python",
      "java",
      "node"
    ],
    "x-github": "https://github.ibm.com/cloud-api-docs/vpc",
    "x-github-issues": "https://github.ibm.com/cloud-api-docs/vpc/issues/new",
    "x-last-updated": "2026-06-30"
  },
  "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"
        }
      },
      "endpointGatewayDNSResolutionBindingMode": {
        "description": "Filters the collection to endpoint gateways with a `dns_resolution_binding_mode` property\nmatching one of the specified comma-separated values.",
        "explode": false,
        "in": "query",
        "name": "dns_resolution_binding_mode",
        "required": false,
        "schema": {
          "items": {
            "$ref": "#/components/schemas/EndpointGatewayDNSResolutionBindingMode"
          },
          "minItems": 1,
          "type": "array",
          "uniqueItems": true
        }
      },
      "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"
        }
      },
      "endpointGatewayResourceBindingIdUnqualified": {
        "description": "The resource binding 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"
        }
      },
      "instanceAvailabilityClass": {
        "description": "Filters the collection to instances with an `availability.class` property matching the\nspecified value.",
        "in": "query",
        "name": "availability.class",
        "required": false,
        "schema": {
          "$ref": "#/components/schemas/InstanceAvailabilityClass"
        }
      },
      "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"
        }
      },
      "instanceInstanceGroupMembershipInstanceGroup": {
        "description": "Filters the collection to instances with an `instance_group_membership.instance_group.id`\nproperty matching the specified instance group identifier.",
        "in": "query",
        "name": "instance_group_membership.instance_group.id",
        "required": false,
        "schema": {
          "example": "r006-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60",
          "maxLength": 64,
          "minLength": 1,
          "pattern": "^[-0-9a-z_]+$",
          "type": "string"
        }
      },
      "instanceInstanceGroupMembershipInstanceGroupByCRN": {
        "description": "Filters the collection to instances with an `instance_group_membership.instance_group.crn`\nproperty matching the specified instance group CRN.",
        "in": "query",
        "name": "instance_group_membership.instance_group.crn",
        "required": false,
        "schema": {
          "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"
        }
      },
      "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"
        }
      },
      "instanceSoftwareAttachmentIdUnqualified": {
        "description": "The instance software attachment identifier",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/ID"
        }
      },
      "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"
        }
      },
      "snapshotConsistencyGroupBackupPolicyJobId": {
        "description": "Filters the collection to snapshot consistency groups with a `backup_policy_job.id` property\nmatching the specified identifier.",
        "in": "query",
        "name": "backup_policy_job.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 `2026-04-07` and `2026-06-30`.",
        "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"
        }
      },
      "volumeId": {
        "description": "The volume identifier",
        "in": "path",
        "name": "volume_id",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/ID"
        }
      },
      "volumeIdUnqualified": {
        "description": "The volume identifier",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/ID"
        }
      },
      "volumeJobIdUnqualified": {
        "description": "The volume job identifier",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/ID"
        }
      },
      "volumeStorageGeneration": {
        "description": "Filters the collection to volumes with a `storage_generation` property\nmatching the specified value.",
        "in": "query",
        "name": "storage_generation",
        "required": false,
        "schema": {
          "$ref": "#/components/schemas/StorageGeneration"
        }
      },
      "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"
        }
      },
      "vpnGatewayServiceConnectionIdUnqualified": {
        "description": "The VPN gateway service connection 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.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
        "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": "bb1b52262f7441a586f49068482f1e60",
          "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": true,
            "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": true,
            "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": {
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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"
      },
      "BackupPolicyJobReference": {
        "example": {
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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",
          "resource_type": "backup_policy_job"
        },
        "properties": {
          "deleted": {
            "$ref": "#/components/schemas/Deleted"
          },
          "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"
          },
          "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"
          }
        },
        "required": [
          "href",
          "id",
          "resource_type"
        ],
        "type": "object",
        "title": "BackupPolicyJobReference"
      },
      "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",
            "example": "The source volume is busy.",
            "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\nmatching type and a matching user tag will be subject to the backup policy.\n\nIf the targeted instance contains volumes with different `storage_generation`\nvalues, a backup policy of type `instance` will create separate backups for\neach `storage_generation` present.",
            "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": {
        "properties": {
          "active": {
            "description": "Indicates whether the plan is active.",
            "example": true,
            "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).",
            "example": true,
            "type": "boolean"
          },
          "created_at": {
            "description": "The date and time that the backup policy plan was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": [
            {
              "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
              "name": "us-south-1"
            }
          ]
        },
        "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": {
        "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.",
            "example": true,
            "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).",
            "example": true,
            "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.",
            "example": true,
            "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).",
            "example": true,
            "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": {
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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-policy-plan",
          "remote": {
            "region": {
              "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south",
              "name": "us-south"
            }
          },
          "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
          },
          "metadata_service": {
            "$ref": "#/components/schemas/BareMetalServerMetadataService"
          },
          "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",
          "metadata_service",
          "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.",
        "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": {
        "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.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
          "console_type": "serial",
          "created_at": "2020-07-27T21:50:14.000Z",
          "expires_at": "2020-07-27T21:51:14.000Z",
          "force": true,
          "href": "wss://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/0717-aad10fd7-8a02-4f3e-97f3-b18bd82cf304/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk"
        },
        "properties": {
          "access_token": {
            "description": "A URL safe single-use token used to access the console WebSocket.",
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
            "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.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
            "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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): 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": {
        "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": {
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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": {
        "properties": {
          "default_trusted_profile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BareMetalServerInitializationDefaultTrustedProfile"
              },
              {
                "description": "The default trusted profile configuration specified at bare metal server\ninitialization. If absent, no default trusted profile was specified."
              }
            ]
          },
          "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"
      },
      "BareMetalServerInitializationDefaultTrustedProfile": {
        "properties": {
          "auto_link": {
            "description": "If set to `true`, the system created a link to the specified `target` trusted profile\nduring server initialization. Regardless of whether a link was created by the system or\nmanually using the IAM Identity service, the link will be automatically deleted when the\nserver is deleted.",
            "example": true,
            "type": "boolean"
          },
          "target": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrustedProfileReference"
              },
              {
                "description": "The default IAM trusted profile to use for this bare metal server"
              }
            ]
          }
        },
        "required": [
          "auto_link",
          "target"
        ],
        "type": "object",
        "title": "BareMetalServerInitializationDefaultTrustedProfile"
      },
      "BareMetalServerInitializationDefaultTrustedProfilePrototype": {
        "properties": {
          "auto_link": {
            "default": true,
            "description": "If set to `true`, the system will create a link to the specified `target` trusted\nprofile during server 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\nserver is deleted.",
            "example": false,
            "type": "boolean"
          },
          "target": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrustedProfileIdentity"
              },
              {
                "description": "The default IAM trusted profile to use for this bare metal server"
              }
            ]
          }
        },
        "required": [
          "target"
        ],
        "type": "object",
        "title": "BareMetalServerInitializationDefaultTrustedProfilePrototype"
      },
      "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": {
          "default_trusted_profile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BareMetalServerInitializationDefaultTrustedProfilePrototype"
              },
              {
                "description": "The default trusted profile to be used when initializing the bare metal server.\n\nIf unspecified, no default trusted profile will be made available."
              }
            ]
          },
          "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 SSH key of type `rsa` must be specified.\nOne of the provided keys is selected to encrypt the administrator password.\nSSH keys are optional for other images; however, if no keys are specified,\nthe bare metal server will be inaccessible unless the selected image provides an\nalternative access mechanism.",
            "items": {
              "$ref": "#/components/schemas/KeyIdentity"
            },
            "maxItems": 10,
            "type": "array",
            "uniqueItems": true
          },
          "user_data": {
            "default": "",
            "description": "The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available\nwhen setting up the bare metal server.",
            "example": "[...]",
            "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"
      },
      "BareMetalServerMetadataService": {
        "description": "The metadata service configuration for the bare metal server",
        "properties": {
          "enabled": {
            "description": "Indicates whether the metadata service endpoint is available to the bare metal server",
            "example": true,
            "type": "boolean"
          },
          "protocol": {
            "$ref": "#/components/schemas/BareMetalServerMetadataServiceProtocol"
          }
        },
        "required": [
          "enabled",
          "protocol"
        ],
        "type": "object",
        "title": "BareMetalServerMetadataService"
      },
      "BareMetalServerMetadataServicePatch": {
        "description": "The metadata service configuration for the bare metal server",
        "properties": {
          "enabled": {
            "description": "Indicates whether the metadata service endpoint will be available to the bare metal\nserver",
            "example": true,
            "type": "boolean"
          },
          "protocol": {
            "$ref": "#/components/schemas/BareMetalServerMetadataServiceProtocol"
          }
        },
        "type": "object",
        "title": "BareMetalServerMetadataServicePatch"
      },
      "BareMetalServerMetadataServiceProtocol": {
        "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": "BareMetalServerMetadataServiceProtocol"
      },
      "BareMetalServerMetadataServicePrototype": {
        "description": "The metadata service configuration for the bare metal server",
        "properties": {
          "enabled": {
            "default": false,
            "description": "Indicates whether the metadata service endpoint will be available to the bare metal\nserver",
            "example": true,
            "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"
          }
        },
        "type": "object",
        "title": "BareMetalServerMetadataServicePrototype"
      },
      "BareMetalServerNetworkAttachment": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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"
        },
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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."
          },
          "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.",
            "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": {
        "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"
          },
          "metadata_service": {
            "$ref": "#/components/schemas/BareMetalServerMetadataServicePatch"
          },
          "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."
          },
          "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.",
            "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": {
        "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_server/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": {
        "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_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/bare_metal_server/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 interface type supported by a bare metal server with this profile.\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"
          },
          "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_server/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": {
        "properties": {
          "href": {
            "description": "The URL for this bare metal server profile",
            "example": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_server/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": [
          "default",
          "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",
            "example": true,
            "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"
          },
          "metadata_service": {
            "$ref": "#/components/schemas/BareMetalServerMetadataServicePrototype"
          },
          "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"
      },
      "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.",
        "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": {
        "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": {
        "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.",
        "example": "2026-01-02T03:04:05.006Z",
        "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",
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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."
          },
          "subnet": {
            "$ref": "#/components/schemas/ClusterNetworkInterfaceSubnetPrototype"
          }
        },
        "type": "object",
        "x-unevaluatedProperties": false,
        "title": "ClusterNetworkInterfacePrototype"
      },
      "ClusterNetworkInterfaceReference": {
        "description": "The associated 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": {
        "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": {
        "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": {
        "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": 0,
        "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": {
        "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": {
        "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": {
        "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",
        "example": "2026-01-02T03:04:05.006Z",
        "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": {
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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<sup>(32 - prefix length)</sup>. For example, the\nprefix length `/24` gives:<br>\n2<sup>(32 - 24)</sup> = 2<sup>8</sup> = 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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": true,
            "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",
            "example": true,
            "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": {
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": true,
            "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",
          "lifecycle_state",
          "name",
          "provisionable",
          "resource_type",
          "size",
          "supported_instance_interface_types"
        ],
        "type": "object",
        "title": "DedicatedHostDisk"
      },
      "DedicatedHostDiskCollection": {
        "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the dedicated host group was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
          "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": {
        "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",
            "example": true,
            "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": {
        "properties": {
          "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": {
        "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": {
        "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": {
        "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",
            "example": true,
            "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": {
        "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the network ACL was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that this security group was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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 named `inbound-icmp-tcp-udp-from-this-security-group` allowing inbound\n  ICMP, TCP and UDP traffic from other interfaces in the VPC's default security\n  group\n- A rule named `outbound-icmp-tcp-udp` allowing outbound ICMP, TCP and UDP traffic\n  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)\nfor this resource.\n\nThe use of Hyper Protect Crypto Services for encryption keys has been deprecated.",
            "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)\nfor this resource.\n\nThe use of Hyper Protect Crypto Services for encryption keys has been deprecated.",
            "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the endpoint gateway was created.",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
          },
          "dns_resolution_binding_mode": {
            "description": "The DNS resolution binding mode used for this endpoint gateway:\n- `disabled`: The endpoint gateway is not participating in [DNS sharing for VPE\n   gateways](/docs/vpc?topic=vpc-vpe-dns-sharing).\n- `primary`: The endpoint gateway is participating in [DNS sharing for VPE gateways]\n   (/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway resides in\n   has a DNS resolution binding to another VPC.\n- `per_resource_binding`: The endpoint gateway is participating in [DNS sharing for VPE\n   gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway\n   resides in has a DNS resolution binding to another VPC, and resource binding is\n   enabled for the `target` service.",
            "enum": [
              "disabled",
              "per_resource_binding",
              "primary"
            ],
            "example": "primary",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-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-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-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": [
          "created_at",
          "crn",
          "dns_resolution_binding_mode",
          "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": {
        "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"
      },
      "EndpointGatewayDNSResolutionBindingMode": {
        "enum": [
          "disabled",
          "per_resource_binding",
          "primary"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "EndpointGatewayDNSResolutionBindingMode"
      },
      "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": {
          "dns_resolution_binding_mode": {
            "description": "The DNS resolution binding mode to use for this endpoint gateway:\n- `disabled`: The endpoint gateway will not participate in [DNS sharing for VPE\n   gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) with other VPCs in a connected\n   topology.\n- `primary`: The endpoint gateway will participate in [DNS sharing for VPE gateways]\n   (/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway resides in\n   has a DNS resolution binding to another VPC. If the VPC this endpoint gateway\n   resides in has a DNS resolution binding to another VPC, then no other VPC in the\n   topology can have an endpoint gateway with the same `target` as this endpoint\n   gateway.\n- `per_resource_binding`: The endpoint gateway will participate in [DNS sharing for VPE\n   gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway\n   resides in has a DNS resolution binding to another VPC. Resource binding must be\n   enabled for the `target` service.\n\n   The VPC this endpoint gateway resides in must have `dns.enable_hub` set to\n   `false`.\n\n   If the VPC this endpoint gateway resides in has DNS resolution binding to another\n   VPC, the other VPC must:\n   - have `dns.enable_hub` set to `true`\n   - contain an endpoint gateway for the same `target` service with\n     `dns_resolution_binding_mode` set to `primary`",
            "enum": [
              "disabled",
              "per_resource_binding",
              "primary"
            ],
            "example": "primary",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "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": {
          "dns_resolution_binding_mode": {
            "default": "primary",
            "description": "The DNS resolution binding mode to use for this endpoint gateway:\n- `disabled`: The endpoint gateway will not participate in [DNS sharing for VPE\n   gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) with other VPCs in a connected\n   topology.\n- `primary`: The endpoint gateway will participate in [DNS sharing for VPE gateways]\n   (/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway resides in\n   has a DNS resolution binding to another VPC. If the VPC this endpoint gateway\n   resides in has a DNS resolution binding to another VPC, then no other VPC in the\n   topology can have an endpoint gateway with the same `target` as this endpoint\n   gateway.\n- `per_resource_binding`: The endpoint gateway will participate in [DNS sharing for VPE\n   gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway\n   resides in has a DNS resolution binding to another VPC. Resource binding must be\n   enabled for the `target` service.\n\n   The VPC this endpoint gateway resides in must have `dns.enable_hub` set to\n   `false`.\n\n   If the VPC this endpoint gateway resides in has DNS resolution binding to another\n   VPC, the other VPC must:\n   - have `dns.enable_hub` set to `true`\n   - contain an endpoint gateway for the same `target` service with\n     `dns_resolution_binding_mode` set to `primary`",
            "enum": [
              "disabled",
              "per_resource_binding",
              "primary"
            ],
            "example": "primary",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "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.",
            "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",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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.",
            "example": {
              "id": "bb1b52262f7441a586f49068482f1e60",
              "resource_type": "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"
      },
      "EndpointGatewayResourceBinding": {
        "properties": {
          "created_at": {
            "description": "The date and time that the resource binding was created.",
            "example": "2026-01-02T03:04:05.006Z",
            "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 resource binding",
            "example": "https://us-south.iaas.cloud.ibm.com/v1/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings/r006-a7ba95b6-a254-47e4-b129-10593df8a373",
            "maxLength": 8000,
            "minLength": 10,
            "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$",
            "type": "string"
          },
          "id": {
            "description": "The unique identifier for this endpoint gateway resource binding.",
            "example": "r006-a7ba95b6-a254-47e4-b129-10593df8a373",
            "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/EndpointGatewayResourceBindingLifecycleReason"
            },
            "minItems": 0,
            "type": "array"
          },
          "lifecycle_state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifecycleState"
              },
              {
                "description": "The lifecycle state of the resource binding."
              }
            ]
          },
          "name": {
            "description": "The name for this resource binding. The name is unique across all resource\nbindings for the endpoint gateway.",
            "example": "my-resource-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": [
              "endpoint_gateway_resource_binding"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "service_endpoint": {
            "description": "The fully qualified domain name of the service endpoint for the resource targeted by\nthis resource binding.",
            "example": "bucket-27200-lwx4cfvcue.s3.direct.us-south.cloud-object-storage.appdomain.cloud",
            "maxLength": 255,
            "minLength": 4,
            "pattern": "^(?:(?!-)[a-zA-Z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,63}\\.?$",
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/EndpointGatewayResourceBindingTarget"
          },
          "type": {
            "description": "The type of resource binding:\n- `weak`: The binding is not dependent on the existence of the target resource.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "enum": [
              "weak"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "href",
          "id",
          "lifecycle_reasons",
          "lifecycle_state",
          "name",
          "resource_type",
          "service_endpoint",
          "target",
          "type"
        ],
        "type": "object",
        "title": "EndpointGatewayResourceBinding"
      },
      "EndpointGatewayResourceBindingCollection": {
        "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/resource_bindings?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/endpoint_gateways/r006-7610ebfb-f5dc-4d42-bc18-287d47f7a5b0/resource_bindings?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=50"
            }
          },
          "resource_bindings": {
            "description": "A page of resource bindings for the endpoint gateway",
            "items": {
              "$ref": "#/components/schemas/EndpointGatewayResourceBinding"
            },
            "type": "array"
          },
          "total_count": {
            "description": "The total number of resources across all pages",
            "example": 132,
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "first",
          "limit",
          "resource_bindings",
          "total_count"
        ],
        "type": "object",
        "title": "EndpointGatewayResourceBindingCollection"
      },
      "EndpointGatewayResourceBindingLifecycleReason": {
        "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": "EndpointGatewayResourceBindingLifecycleReason"
      },
      "EndpointGatewayResourceBindingPatch": {
        "properties": {
          "name": {
            "description": "The name for this resource binding. The name must not be used by another resource binding\nfor the endpoint gateway.",
            "example": "my-resource-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": "EndpointGatewayResourceBindingPatch"
      },
      "EndpointGatewayResourceBindingPrototype": {
        "properties": {
          "name": {
            "description": "The name for this resource binding. The name must not be used by another resource binding\nfor the endpoint gateway. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.",
            "example": "my-resource-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"
          },
          "target": {
            "$ref": "#/components/schemas/EndpointGatewayResourceBindingTargetPrototype"
          }
        },
        "required": [
          "target"
        ],
        "type": "object",
        "title": "EndpointGatewayResourceBindingPrototype"
      },
      "EndpointGatewayResourceBindingTarget": {
        "description": "The target for this endpoint gateway resource binding.",
        "example": {
          "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/EndpointGatewayResourceBindingTargetCRN"
          }
        ],
        "type": "object",
        "title": "EndpointGatewayResourceBindingTarget"
      },
      "EndpointGatewayResourceBindingTargetByCRN": {
        "description": "The resource to bind to the endpoint gateway.",
        "properties": {
          "crn": {
            "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": "EndpointGatewayResourceBindingTargetByCRN"
      },
      "EndpointGatewayResourceBindingTargetCRN": {
        "description": "The CRN for the resource targeted by this resource binding.",
        "properties": {
          "crn": {
            "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": "EndpointGatewayResourceBindingTargetCRN"
      },
      "EndpointGatewayResourceBindingTargetPrototype": {
        "description": "The target to use for this resource binding.",
        "example": {
          "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/EndpointGatewayResourceBindingTargetByCRN"
          }
        ],
        "type": "object",
        "title": "EndpointGatewayResourceBindingTargetPrototype"
      },
      "EndpointGatewayTarget": {
        "description": "The target for this endpoint gateway.",
        "example": {
          "crn": "crn:v1:bluemix:public:is:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34::private-path-service-gateway:r006-7268d425-59b7-48fd-9735-81a7271657d5",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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": "ibm-ntp-server",
          "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": "private_path_service_gateway"
        },
        "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 `dns_resolution_binding_mode` is set to `primary`, then there must not be\nanother endpoint gateway in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing)\nconnected 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\nIf `dns_resolution_binding_mode` is set to `per_resource_binding`, then:\n- The VPC in the topology with `dns.enable_hub` set to `true` must have an endpoint\n  gateway with the same `target` as this endpoint gateway.\n- The VPC in the topology with `dns.enable_hub` set to `true` must have an endpoint\n  gateway with `dns_resolution_binding_mode` set to `primary`.\n- No other VPC in the topology can have an endpoint gateway with a resource binding\n  using the same `service_endpoint` as a resource binding for this endpoint 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"
      },
      "FQDN": {
        "properties": {
          "fqdn": {
            "$ref": "#/components/schemas/FullyQualifiedDomainName"
          }
        },
        "required": [
          "fqdn"
        ],
        "type": "object",
        "title": "FQDN"
      },
      "FloatingIP": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
        "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": {
        "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": {
        "properties": {
          "floating_ips": {
            "description": "The floating IPs",
            "items": {
              "$ref": "#/components/schemas/FloatingIP"
            },
            "type": "array"
          }
        },
        "required": [
          "floating_ips"
        ],
        "type": "object",
        "title": "FloatingIPUnpaginatedCollection"
      },
      "FlowLogCollector": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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/InstanceNetworkAttachmentReferenceFlowLogCollectorContext"
          },
          {
            "$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.",
        "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\nFor this request to succeed, the target must:\n- not be a virtual network interface that is attached to a bare metal server network\n  attachment or to a file share mount target\n- not already be the target of another flow log collector.",
        "maxProperties": 1,
        "type": "object",
        "title": "FlowLogCollectorTargetPrototype"
      },
      "FourOctetPrivateASN": {
        "description": "The four-octet private autonomous system number.",
        "example": 4200000000,
        "maximum": 4294967294,
        "minimum": 4200000000,
        "type": "integer",
        "title": "FourOctetPrivateASN"
      },
      "FourOctetPublicASN": {
        "description": "The four-octet public autonomous system number.",
        "example": 131072,
        "maximum": 4199999999,
        "minimum": 131072,
        "type": "integer",
        "title": "FourOctetPublicASN"
      },
      "FullyQualifiedDomainName": {
        "description": "A fully qualified domain name for this resource",
        "example": "my-service.example.com",
        "maxLength": 255,
        "minLength": 4,
        "pattern": "^(?:(?!-)[a-zA-Z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,63}\\.?$",
        "type": "string",
        "title": "FullyQualifiedDomainName"
      },
      "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-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"
      },
      "HTTPResponseCodeOrClass": {
        "description": "An HTTP response code such as `\"200\"` or `\"201\"`, or an HTTP response class where the last\ntwo characters are uppercase `XX`, such as `\"2XX\"`.",
        "example": "2XX",
        "maxLength": 3,
        "minLength": 3,
        "pattern": "^[1-5](\\d{2}|XX)$",
        "type": "string",
        "title": "HTTPResponseCodeOrClass"
      },
      "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": {
        "properties": {
          "authentication_algorithm": {
            "deprecated": true,
            "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.\n\nIf `multiple`, the policy supports more than one authentication algorithm.\nUse the `authentication_algorithms` property to retrieve all supported algorithms.",
            "enum": [
              "md5",
              "multiple",
              "sha1",
              "sha256",
              "sha384",
              "sha512"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "authentication_algorithms": {
            "description": "The authentication algorithms to use for IKE Negotiation.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "sha256",
                "sha384",
                "sha512"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
            "deprecated": true,
            "description": "The Diffie-Hellman group\n\nGroups `2` and `5` have been deprecated.\n\nIf `65535`, the policy supports more than one Diffie-Hellman group.\nUse the `dh_groups` property to retrieve all supported Diffie-Hellman groups.",
            "enum": [
              14,
              15,
              16,
              17,
              18,
              19,
              2,
              20,
              21,
              22,
              23,
              24,
              31,
              5,
              65535
            ],
            "type": "integer"
          },
          "dh_groups": {
            "description": "The Diffie-Hellman groups to use for IKE negotiation.\n\nThe order of the Diffie-Hellman groups in this array indicates their priority for\nnegotiation, with each Diffie-Hellman group having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                31
              ],
              "type": "integer"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "encryption_algorithm": {
            "deprecated": true,
            "description": "The encryption algorithm.\n\nIf `multiple`, the policy supports more than one encryption algorithm.\nUse the `encryption_algorithms` property to retrieve all supported algorithms.\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",
              "multiple",
              "triple_des"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "encryption_algorithms": {
            "description": "The encryption algorithms to use for IKE Negotiation.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "aes128",
                "aes192",
                "aes256"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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",
          "authentication_algorithms",
          "connections",
          "created_at",
          "dh_group",
          "dh_groups",
          "encryption_algorithm",
          "encryption_algorithms",
          "href",
          "id",
          "ike_version",
          "key_lifetime",
          "name",
          "negotiation_mode",
          "resource_group",
          "resource_type"
        ],
        "type": "object",
        "title": "IKEPolicy"
      },
      "IKEPolicyCollection": {
        "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": {
        "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": {
        "example": {
          "authentication_algorithm": "sha256",
          "authentication_algorithms": [
            "sha256"
          ],
          "dh_group": 14,
          "dh_groups": [
            14
          ],
          "encryption_algorithm": "aes128",
          "encryption_algorithms": [
            "aes128"
          ],
          "ike_version": 1,
          "key_lifetime": 28800,
          "name": "my-ike-policy"
        },
        "properties": {
          "authentication_algorithm": {
            "deprecated": true,
            "description": "The authentication algorithm.\n\n`authentication_algorithm` has been deprecated. Use `authentication_algorithms`\ninstead.\n\nIf specified, `authentication_algorithms` must not be specified.\n\nUpdating this property will also update the\n`authentication_algorithms` field accordingly.",
            "enum": [
              "sha256",
              "sha384",
              "sha512"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "authentication_algorithms": {
            "description": "The authentication algorithms to use for IKE Negotiation.\n\nIf specified, `authentication_algorithm` must not be specified.\n\nIf the IKE policy's `ike_version` is `1`, this array must contain\nexactly one algorithm.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.\n\nUpdating this property will also update the\n`authentication_algorithm` field accordingly.",
            "format": "sequence",
            "items": {
              "enum": [
                "sha256",
                "sha384",
                "sha512"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "dh_group": {
            "deprecated": true,
            "description": "The Diffie-Hellman group.\n\n`dh_group` has been deprecated. Use `dh_groups`\ninstead.\n\nIf specified, `dh_groups` must not be specified.\n\nUpdating this property will also update the `dh_groups` field accordingly.",
            "enum": [
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              31
            ],
            "type": "integer"
          },
          "dh_groups": {
            "description": "The Diffie-Hellman groups to use for IKE Negotiation.\n\nIf specified, `dh_group` must not be specified.\n\nIf the IKE policy's `ike_version` is `1`, this array must contain\nexactly one algorithm.\n\nThe order of the Diffie-Hellman groups in this array indicates their priority for\nnegotiation, with each Diffie-Hellman group having priority over the one after it.\n\nUpdating this property will also update the `dh_group` field accordingly.",
            "format": "sequence",
            "items": {
              "enum": [
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                31
              ],
              "type": "integer"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "encryption_algorithm": {
            "deprecated": true,
            "description": "The encryption algorithm.\n\n`encryption_algorithm` has been deprecated. Use `encryption_algorithms`\ninstead.\n\nIf specified, `encryption_algorithms` must not be specified.\n\nUpdating this property will also update the\n`encryption_algorithms` field accordingly.",
            "enum": [
              "aes128",
              "aes192",
              "aes256"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "encryption_algorithms": {
            "description": "The encryption algorithms to use for IKE negotiation.\n\nIf specified, `encryption_algorithm` must not be specified.\n\nIf the IKE policy's `ike_version` is `1`, this array must contain\nexactly one algorithm.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.\n\nUpdating this property will also update the `encryption_algorithm` field accordingly.",
            "format": "sequence",
            "items": {
              "enum": [
                "aes128",
                "aes192",
                "aes256"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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": {
            "deprecated": true,
            "description": "The authentication algorithm.\n\n`authentication_algorithm` has been deprecated. Use `authentication_algorithms`\ninstead.\n\nIf  specified, `authentication_algorithms` must not be specified.",
            "enum": [
              "sha256",
              "sha384",
              "sha512"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "authentication_algorithms": {
            "description": "The authentication algorithms to use for IKE Negotiation.\n\nIf specified, `authentication_algorithm` must not be specified.\n\nIf the IKE policy's `ike_version` is `1`, this array must contain\nexactly one algorithm.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "sha256",
                "sha384",
                "sha512"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "dh_group": {
            "deprecated": true,
            "description": "The Diffie-Hellman group.\n\n`dh_group` has been deprecated. Use `dh_groups`\ninstead.\n\nIf  specified, `dh_groups` must not be specified.",
            "enum": [
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              31
            ],
            "type": "integer"
          },
          "dh_groups": {
            "description": "The Diffie-Hellman groups to use for IKE negotiation.\n\nIf  specified, `dh_group` must not be specified.\n\nIf the IKE policy's `ike_version` is `1`, this array must contain\nexactly one algorithm.\n\nThe order of the Diffie-Hellman groups in this array indicates their priority for\nnegotiation, with each Diffie-Hellman group having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                31
              ],
              "type": "integer"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "encryption_algorithm": {
            "deprecated": true,
            "description": "The encryption algorithm.\n\n`encryption_algorithm` has been deprecated. Use `encryption_algorithms`\ninstead.\n\nIf  specified, `encryption_algorithms` must not be specified.",
            "enum": [
              "aes128",
              "aes192",
              "aes256"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "encryption_algorithms": {
            "description": "The encryption algorithms to use for IKE Negotiation.\n\nIf  specified, `encryption_algorithm` must not be specified.\n\nIf the IKE policy's `ike_version` is `1`, this array must contain\nexactly one algorithm.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "aes128",
                "aes192",
                "aes256"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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 policy 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": [
          "ike_version"
        ],
        "type": "object",
        "title": "IKEPolicyPrototype"
      },
      "IKEPolicyReference": {
        "example": {
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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"
      },
      "IPNotReservedIP": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IP"
          }
        ],
        "not": {
          "$ref": "#/components/schemas/ReservedIPReference"
        },
        "title": "IPNotReservedIP"
      },
      "IPsecPolicy": {
        "properties": {
          "authentication_algorithm": {
            "deprecated": true,
            "description": "The authentication algorithms.\n\nIf `multiple`, the policy supports more than one authentication algorithm.\nUse the `authentication_algorithms` property to retrieve all supported algorithms.\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",
              "multiple",
              "sha256",
              "sha384",
              "sha512"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "authentication_algorithms": {
            "description": "The authentication algorithms to use for IPsec Negotiation.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "disabled",
                "sha256",
                "sha384",
                "sha512"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
            "deprecated": true,
            "description": "The encryption algorithm.\n\nIf `multiple`, the policy supports more than one encryption algorithm.\nUse the `encryption_algorithms` property to retrieve all supported algorithms.\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",
              "multiple",
              "triple_des"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "encryption_algorithms": {
            "description": "The encryption algorithms to use for IKE Negotiation.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "aes128",
                "aes128gcm16",
                "aes192",
                "aes192gcm16",
                "aes256",
                "aes256gcm16"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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": {
            "deprecated": true,
            "description": "The Perfect Forward Secrecy group.\n\nIf `multiple`, the policy supports more than one PFS group.\nUse the `pfs_groups` property to retrieve all supported PFS groups.\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",
              "multiple"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "pfs_groups": {
            "description": "The Perfect Forward Secrecy groups to use for IPsec negotiation.\n\nThe order of the Perfect Forward Secrecy groups in this array indicates their priority\nfor negotiation, with each Perfect Forward Secrecy group having priority over the one\nafter it.",
            "format": "sequence",
            "items": {
              "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"
              ],
              "type": "string"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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",
          "authentication_algorithms",
          "connections",
          "created_at",
          "encapsulation_mode",
          "encryption_algorithm",
          "encryption_algorithms",
          "href",
          "id",
          "key_lifetime",
          "name",
          "pfs",
          "pfs_groups",
          "resource_group",
          "resource_type",
          "transform_protocol"
        ],
        "type": "object",
        "title": "IPsecPolicy"
      },
      "IPsecPolicyCollection": {
        "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": {
        "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": {
        "example": {
          "authentication_algorithm": "disabled",
          "authentication_algorithms": [
            "disabled"
          ],
          "encryption_algorithm": "aes128",
          "encryption_algorithms": [
            "aes128"
          ],
          "key_lifetime": 3600,
          "name": "my-ipsec-policy",
          "pfs": "disabled",
          "pfs_groups": [
            "disabled"
          ]
        },
        "properties": {
          "authentication_algorithm": {
            "deprecated": true,
            "description": "The authentication algorithm.\n\n`authentication_algorithm` has been deprecated. Use `authentication_algorithms`\ninstead.\n\nIf specified, `authentication_algorithms` must not be specified.\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.\n\nUpdating this property will also update the\n`authentication_algorithms` field accordingly.",
            "enum": [
              "disabled",
              "sha256",
              "sha384",
              "sha512"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "authentication_algorithms": {
            "description": "The authentication algorithms to use for IPsec negotiation.\n\nIf specified, `authentication_algorithm` must not be specified.\n\nMust be `[\"disabled\"]` when `encryption_algorithms` has only combined-mode algorithms\n(`aes128gcm16`, `aes192gcm16`, and `aes256gcm16`).\n\nThe `md5` and `sha1` algorithms have been deprecated.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.\n\nUpdating this property will also update the\n`authentication_algorithm` field accordingly.",
            "format": "sequence",
            "items": {
              "enum": [
                "disabled",
                "sha256",
                "sha384",
                "sha512"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "encryption_algorithm": {
            "deprecated": true,
            "description": "The encryption algorithm.\n\n`encryption_algorithm` has been deprecated. Use `encryption_algorithms`\ninstead.\n\nIf specified, `encryption_algorithms` must not be specified.\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.\n\nUpdating this property will also update the\n`encryption_algorithms` field accordingly.",
            "enum": [
              "aes128",
              "aes128gcm16",
              "aes192",
              "aes192gcm16",
              "aes256",
              "aes256gcm16"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "encryption_algorithms": {
            "description": "The encryption algorithms to use for IPsec negotiation.\n\nIf specified, `encryption_algorithm` must not be specified.\n\nIf only combined-mode encryption algorithms (`aes128gcm16`, `aes192gcm16`, and\n`aes256gcm16`) are to be used, then `authentication_algorithms`\nmust be `[\"disabled\"]`.\n\nThe `triple_des` algorithm has been deprecated.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.\n\nUpdating this property will also update the `encryption_algorithm` field accordingly.",
            "format": "sequence",
            "items": {
              "enum": [
                "aes128",
                "aes128gcm16",
                "aes192",
                "aes192gcm16",
                "aes256",
                "aes256gcm16"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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": {
            "deprecated": true,
            "description": "The Perfect Forward Secrecy group.\n\n`pfs` has been deprecated. Use `pfs_groups` instead.\n\nIf specified, `pfs_groups` must not be specified.\n\nGroups `group_2` and `group_5` have been deprecated.\n\nUpdating this property will also update the\n`pfs_groups` field accordingly.",
            "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"
          },
          "pfs_groups": {
            "description": "The Perfect Forward Secrecy groups to use for IPsec negotiation.\n\nIf specified, `pfs_groups` must not be specified.\n\nGroups `group_2` and `group_5` have been deprecated.\n\nThe order of the Perfect Forward Secrecy groups in this array indicates\ntheir priority for negotiation, with each Perfect Forward Secrecy group\nhaving priority over the one after it.\n\nUpdating this property will also update the `pfs` field accordingly.",
            "format": "sequence",
            "items": {
              "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"
              ],
              "type": "string"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object",
        "title": "IPsecPolicyPatch"
      },
      "IPsecPolicyPrototype": {
        "properties": {
          "authentication_algorithm": {
            "deprecated": true,
            "description": "The authentication algorithm.\n\n`authentication_algorithm` has been deprecated. Use `authentication_algorithms`\ninstead.\n\nIf specified, `authentication_algorithms` must not be specified.\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"
          },
          "authentication_algorithms": {
            "description": "The authentication algorithms to use for IPsec negotiation.\n\nIf specified, `authentication_algorithm` must not be specified.\n\nMust be `[\"disabled\"]` when `encryption_algorithms` has only combined-mode algorithms\n(`aes128gcm16`, `aes192gcm16`, and `aes256gcm16`).\n\nThe `md5` and `sha1` algorithms have been deprecated.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "disabled",
                "sha256",
                "sha384",
                "sha512"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "encryption_algorithm": {
            "deprecated": true,
            "description": "The encryption algorithm.\n\n`encryption_algorithm` has been deprecated. Use `encryption_algorithms`\ninstead.\n\nIf specified, `encryption_algorithms` must not be specified.\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"
          },
          "encryption_algorithms": {
            "description": "The encryption algorithms to use for IPsec negotiation.\n\nIf specified, `encryption_algorithm` must not be specified.\n\nIf only combined-mode encryption algorithms (`aes128gcm16`, `aes192gcm16`, and\n`aes256gcm16`) are to be used, then `authentication_algorithms`\nmust be `[\"disabled\"]`.\n\nThe `triple_des` algorithm has been deprecated.\n\nThe order of the algorithms in this array indicates their priority for negotiation,\nwith each algorithm having priority over the one after it.",
            "format": "sequence",
            "items": {
              "enum": [
                "aes128",
                "aes128gcm16",
                "aes192",
                "aes192gcm16",
                "aes256",
                "aes256gcm16"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "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 policy 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": {
            "deprecated": true,
            "description": "The Perfect Forward Secrecy group.\n\n`pfs` has been deprecated. Use `pfs_groups` instead.\n\nIf specified, `pfs_groups` must not be specified.\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"
          },
          "pfs_groups": {
            "description": "The Perfect Forward Secrecy groups to use for IPsec negotiation.\n\nIf specified, `pfs` must not be specified.\n\nGroups `group_2` and `group_5` have been deprecated.\n\nThe order of the Perfect Forward Secrecy groups in this array indicates\ntheir priority for negotiation, with each Perfect Forward Secrecy group\nhaving priority over the one after it.",
            "format": "sequence",
            "items": {
              "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"
              ],
              "type": "string"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "resource_group": {
            "$ref": "#/components/schemas/ResourceGroupIdentity"
          }
        },
        "type": "object",
        "title": "IPsecPolicyPrototype"
      },
      "IPsecPolicyReference": {
        "example": {
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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- `partially_available`: image can be used to create resources in the\n  zones listed in the `zones` property.\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",
              "partially_available",
              "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"
          },
          "zones": {
            "$ref": "#/components/schemas/ImageZones"
          }
        },
        "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",
          "zones"
        ],
        "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): 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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): 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 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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): 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 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint.\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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/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=20"
          },
          "limit": 20,
          "next": {
            "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/bare_metal_server_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
          },
          "total_count": 132
        },
        "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 [Key\nProtect](https://cloud.ibm.com/docs/key-protect?topic=key-protect-wrap-keys).\n\nIf unspecified, the imported image is treated as unencrypted.\n\nThe use of Hyper Protect Crypto Services for image encryption keys has been deprecated.",
            "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": {
        "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": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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 Key Protect.\n\nIf absent, the export job is for an unencrypted image.\n\nThe use of Hyper Protect Crypto Services for image encryption keys has been deprecated.",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
              "name": "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",
            "example": "A failure occurred",
            "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": {
        "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=20"
          },
          "instance_profiles": [
            {
              "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
              "name": "bx2-4x16",
              "resource_type": "instance_profile"
            }
          ],
          "limit": 20,
          "next": {
            "href": "https://us-south.iaas.cloud.ibm.com/v1/images/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
          },
          "total_count": 132
        },
        "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).",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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).",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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.",
            "example": {
              "id": "bb1b52262f7441a586f49068482f1e60",
              "resource_type": "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.",
            "example": {
              "id": "bb1b52262f7441a586f49068482f1e60",
              "resource_type": "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",
          "partially_available",
          "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",
            "example": "A failure occurred",
            "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"
      },
      "ImageZones": {
        "description": "The zones in which this image is available for use.\n\nIf the image has a status of `available` or `deprecated`, this will include\nall zones in the region.\n\nIf the image has a status of `partially_available`, this will include one or\nmore zones in the region.\n\nIf the image has a status of `failed`, `obsolete`, `pending`, `unusable`,\nor `deleting`, this will be empty.",
        "items": {
          "$ref": "#/components/schemas/ZoneReference"
        },
        "minItems": 0,
        "type": "array",
        "uniqueItems": true,
        "title": "ImageZones"
      },
      "Instance": {
        "properties": {
          "availability": {
            "$ref": "#/components/schemas/InstanceAvailability"
          },
          "availability_policy": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicy"
          },
          "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
              }
            ]
          },
          "instance_group_membership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstanceGroupMembershipReferenceInstanceContext"
              },
              {
                "description": "The instance group membership for this virtual server instance"
              }
            ]
          },
          "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"
          },
          "software_attachments": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachments"
          },
          "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"
          },
          "threads_per_core": {
            "$ref": "#/components/schemas/InstanceThreadsPerCore"
          },
          "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
          },
          "volume_bandwidth_qos_mode": {
            "description": "The volume bandwidth QoS mode for this virtual server instance.",
            "enum": [
              "pooled",
              "weighted"
            ],
            "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 virtual server instance resides in"
              }
            ]
          },
          "zone": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoneReference"
              },
              {
                "description": "The zone this virtual server instance resides in"
              }
            ]
          }
        },
        "required": [
          "availability",
          "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",
          "software_attachments",
          "startable",
          "status",
          "status_reasons",
          "threads_per_core",
          "total_network_bandwidth",
          "total_volume_bandwidth",
          "vcpu",
          "volume_attachments",
          "volume_bandwidth_qos_mode",
          "vpc",
          "zone"
        ],
        "type": "object",
        "title": "Instance"
      },
      "InstanceAction": {
        "properties": {
          "completed_at": {
            "deprecated": true,
            "description": "The date and time that the action was completed",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
      },
      "InstanceAvailability": {
        "properties": {},
        "required": [
          "class"
        ],
        "type": "object",
        "title": "InstanceAvailability"
      },
      "InstanceAvailabilityClass": {
        "description": "The availability class for the virtual server instance:\n- `spot`: The virtual server instance may be preempted.\n- `standard`: The virtual server instance will not be preempted.\n\nSee [virtual server instance availability\nclass](https://cloud.ibm.com/docs/vpc?topic=vpc-spot-instances-virtual-servers) for details.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
        "enum": [
          "spot",
          "standard"
        ],
        "example": "standard",
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityClass"
      },
      "InstanceAvailabilityClassPatch": {
        "description": "The availability class for the virtual server instance:\n- `spot`: The virtual server instance may be preempted.\n- `standard`: The virtual server instance will not be preempted.\n\nIf `spot` is specified, the virtual server instance:\n- `reservation_affinity.policy` must be `disabled`\n- `placement_target` must not specify a dedicated host or dedicated host group.\n\nTo change the availability class, the instance `status` must be `stopping` or `stopped`.",
        "enum": [
          "spot",
          "standard"
        ],
        "example": "standard",
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityClassPatch"
      },
      "InstanceAvailabilityClassPrototype": {
        "default": "standard",
        "description": "The availability class for the virtual server instance:\n- `spot`: The virtual server instance may be preempted.\n- `standard`: The virtual server instance will not be preempted.\n\nIf `spot` is specified, the virtual server instance:\n- `reservation_affinity.policy` must be `disabled`\n- `placement_target` must not specify a dedicated host or dedicated host group.\n\nIf unspecified, the default for `availability_class` from the profile will be used.",
        "enum": [
          "spot",
          "standard"
        ],
        "example": "standard",
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityClassPrototype"
      },
      "InstanceAvailabilityPatch": {
        "properties": {},
        "type": "object",
        "title": "InstanceAvailabilityPatch"
      },
      "InstanceAvailabilityPolicy": {
        "description": "The availability policy for this virtual server instance",
        "properties": {
          "host_failure": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyHostFailure"
          },
          "preemption": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyPreemption"
          }
        },
        "required": [
          "host_failure",
          "preemption"
        ],
        "type": "object",
        "title": "InstanceAvailabilityPolicy"
      },
      "InstanceAvailabilityPolicyHostFailure": {
        "description": "The action to perform if the compute host experiences a failure:\n- `restart`: Restart the virtual server instance\n- `stop`: Leave the virtual server instance stopped\n\nSee [handling host\nfailures](https://cloud.ibm.com/docs/vpc?topic=vpc-host-failure-recovery-policies) for\ndetails.\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",
        "title": "InstanceAvailabilityPolicyHostFailure"
      },
      "InstanceAvailabilityPolicyHostFailurePatch": {
        "description": "The action to perform if the compute host experiences a failure:\n- `restart`: Restart the virtual server instance\n- `stop`: Leave the virtual server instance stopped",
        "enum": [
          "restart",
          "stop"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityPolicyHostFailurePatch"
      },
      "InstanceAvailabilityPolicyHostFailurePrototype": {
        "default": "restart",
        "description": "The action to perform if the compute host experiences a failure:\n- `restart`: Restart the virtual server instance\n- `stop`: Leave the virtual server instance stopped\n\nSee [handling host\nfailures](https://cloud.ibm.com/docs/vpc?topic=vpc-host-failure-recovery-policies) for\ndetails.",
        "enum": [
          "restart",
          "stop"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityPolicyHostFailurePrototype"
      },
      "InstanceAvailabilityPolicyPatch": {
        "properties": {
          "host_failure": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyHostFailurePatch"
          },
          "preemption": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyPreemptionPatch"
          }
        },
        "type": "object",
        "title": "InstanceAvailabilityPolicyPatch"
      },
      "InstanceAvailabilityPolicyPreemption": {
        "description": "The action to perform if the virtual server instance is preempted:\n- `delete`: Delete the virtual server instance\n- `stop`: Leave the virtual server instance stopped\n\nSee [virtual server instance\npreemption](https://cloud.ibm.com/docs/vpc?topic=vpc-spot-instances-virtual-servers#spot-instances-preemption)\nfor details.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
        "enum": [
          "delete",
          "stop"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityPolicyPreemption"
      },
      "InstanceAvailabilityPolicyPreemptionPatch": {
        "description": "The action to perform if the virtual server instance is preempted:\n- `delete`: Delete the virtual server instance\n- `stop`: Leave the virtual server instance stopped",
        "enum": [
          "delete",
          "stop"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityPolicyPreemptionPatch"
      },
      "InstanceAvailabilityPolicyPreemptionPrototype": {
        "default": "stop",
        "description": "The action to perform if the virtual server instance is preempted:\n- `delete`: Delete the virtual server instance\n- `stop`: Leave the virtual server instance stopped\n\nSee [virtual server instance\npreemption](https://cloud.ibm.com/docs/vpc?topic=vpc-spot-instances-virtual-servers#spot-instances-preemption)\nfor details.",
        "enum": [
          "delete",
          "stop"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceAvailabilityPolicyPreemptionPrototype"
      },
      "InstanceAvailabilityPolicyPrototype": {
        "description": "The availability policy to use for this virtual server instance",
        "properties": {
          "host_failure": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyHostFailurePrototype"
          },
          "preemption": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyPreemptionPrototype"
          }
        },
        "type": "object",
        "title": "InstanceAvailabilityPolicyPrototype"
      },
      "InstanceAvailabilityPrototype": {
        "properties": {},
        "type": "object",
        "title": "InstanceAvailabilityPrototype"
      },
      "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": {
        "properties": {
          "catalog_offering": {
            "$ref": "#/components/schemas/InstanceCatalogOfferingPrototype"
          },
          "image": {
            "$ref": "#/components/schemas/ImageIdentity"
          }
        },
        "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": {
        "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.",
        "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.",
        "title": "InstanceClusterNetworkAttachmentBeforePrototype"
      },
      "InstanceClusterNetworkAttachmentCollection": {
        "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": {
            "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": {
        "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.",
        "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."
          },
          "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": {
        "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.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
          "console_type": "serial",
          "created_at": "2020-07-27T21:50:14.000Z",
          "expires_at": "2020-07-27T21:51:14.000Z",
          "force": true,
          "href": "wss://us-south.iaas.cloud.ibm.com/v1/instances/0717_e21b7391-2ca2-4ab5-84a8-b92157a633b0/console?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk"
        },
        "properties": {
          "access_token": {
            "description": "A URL safe single-use token used to access the console WebSocket.",
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
            "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.eyJhdWQiOlsiVlNJLUNSX3VzLXNvdXRoIiwiOTFjY2RkYTUtZDVlYi0xMWYwLTg4YmQtMDIwMWFhMDNjM2MyXzU3MzIyNDIxMTk4MTcyMDYxMDYxMzQ2NTMyMzU1NzkwNDU2MTcyODM3MzM1NzEyMyJdLCJleHAiOjE3NjUzOTA0NzMsImlhYXMiOnsiY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6aW5zdGFuY2U6MDcyNl80MjM3OWU0Mi0wYjYzLTRiNDItOGI2OC1iODMzZTk3Y2U1OTAiLCJhY2NvdW50SUQiOiJhZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNSIsImluc3RhbmNlSUQiOiIwNzI2XzQyMzc5ZTQyLTBiNjMtNGI0Mi04YjY4LWI4MzNlOTdjZTU5MCIsInpvbmUiOiJ1cy1zb3V0aC0yIiwicmVnaW9uIjoidXMtc291dGgiLCJwcm9maWxlX25hbWUiOiJieGYtMng4IiwicmVzb3VyY2VfZ3JvdXBfaWQiOiI2ZDQyY2NlMzNlNjA0YTg2Yjk1NDg1YzU3MzViZTUyZCJ9LCJpYXQiOjE3NjUzODY4NzMsImlwX2FkZHJlc3NlcyI6W3siYWRkcmVzcyI6IjE2OS41OS4yMTMuNTIifSx7ImFkZHJlc3MiOiIxMC4yNDAuNjQuMTEifV0sImlzcyI6IlZTSS1DUl91cy1zb3V0aCIsIm5vbmNlIjoiMjAyMC0wMy0xMlQxMjozNDo1Ni43ODlaIiwic3VibmV0cyI6W3siY3JuIjoiY3JuOnYxOmJsdWVtaXg6cHVibGljOmlzOnVzLXNvdXRoLTI6YS9hZjY0NDNmNjE5YTk0OWM5OTE5YzFlYjE2MjVkNmNjNTo6c3VibmV0OjA3MjYtNjEwZGQ4OTctMTg4ZC00YzY4LThhN2QtZjc1NmY1NTZmMGM5IiwibmFtZSI6ImdiZ3JvdXQtc3VibmV0IiwiaWQiOiIwNzI2LTYxMGRkODk3LTE4OGQtNGM2OC04YTdkLWY3NTZmNTU2ZjBjOSJ9XSwidnBjIjp7ImNybiI6ImNybjp2MTpibHVlbWl4OnB1YmxpYzppczp1cy1zb3V0aDphL2FmNjQ0M2Y2MTlhOTQ5Yzk5MTljMWViMTYyNWQ2Y2M1Ojp2cGM6cjEzNC1lYjZkZTgyMi05MjE2LTQyZmYtYjJmZS0yNTAwNjlmMzcyMTIiLCJuYW1lIjoiY3NpLXZwYy15YXA4LWo5b2E4ZmY1IiwiaWQiOiJyMTM0LWViNmRlODIyLTkyMTYtNDJmZi1iMmZlLTI1MDA2OWYzNzIxMiJ9fQ.id9M7xMOh9dWbodwDXjZXG21e2evhpHgAFa8EBliIYk",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceGroupManagerAutoScale"
          },
          {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduled"
          }
        ],
        "properties": {
          "created_at": {
            "description": "The date and time that the instance group manager was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceGroupManagerTargetPolicy"
          }
        ],
        "properties": {
          "created_at": {
            "description": "The date and time that the instance group manager policy was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
      },
      "InstanceGroupManagerScheduledActionByCronSpecWithGroup": {
        "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"
          },
          "group": {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionGroupPrototype"
          }
        },
        "required": [
          "cron_spec",
          "group"
        ],
        "type": "object",
        "x-child-schema-suffix": "ByCronSpecWithGroup",
        "title": "InstanceGroupManagerScheduledActionByCronSpecWithGroup"
      },
      "InstanceGroupManagerScheduledActionByCronSpecWithManager": {
        "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"
          },
          "manager": {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManagerPrototype"
          }
        },
        "required": [
          "cron_spec",
          "manager"
        ],
        "type": "object",
        "x-child-schema-suffix": "ByCronSpecWithManager",
        "title": "InstanceGroupManagerScheduledActionByCronSpecWithManager"
      },
      "InstanceGroupManagerScheduledActionByRunAtWithGroup": {
        "properties": {
          "group": {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionGroupPrototype"
          },
          "run_at": {
            "description": "The date and time the scheduled action will run",
            "example": "2026-01-02T03:04:05.006Z",
            "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": [
          "group",
          "run_at"
        ],
        "type": "object",
        "x-child-schema-suffix": "ByRunAtWithGroup",
        "title": "InstanceGroupManagerScheduledActionByRunAtWithGroup"
      },
      "InstanceGroupManagerScheduledActionByRunAtWithManager": {
        "properties": {
          "manager": {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionManagerPrototype"
          },
          "run_at": {
            "description": "The date and time the scheduled action will run",
            "example": "2026-01-02T03:04:05.006Z",
            "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": [
          "manager",
          "run_at"
        ],
        "type": "object",
        "x-child-schema-suffix": "ByRunAtWithManager",
        "title": "InstanceGroupManagerScheduledActionByRunAtWithManager"
      },
      "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/InstanceGroupManagerScheduledActionByCronSpecWithGroup"
          },
          {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByCronSpecWithManager"
          },
          {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByRunAtWithGroup"
          },
          {
            "$ref": "#/components/schemas/InstanceGroupManagerScheduledActionByRunAtWithManager"
          }
        ],
        "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the instance group manager policy was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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"
      },
      "InstanceGroupMembershipReferenceInstanceContext": {
        "properties": {
          "deleted": {
            "$ref": "#/components/schemas/Deleted"
          },
          "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_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstanceGroupReference"
              },
              {
                "description": "The instance group associated with this membership."
              }
            ]
          },
          "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"
          }
        },
        "required": [
          "href",
          "id",
          "instance_group",
          "name"
        ],
        "type": "object",
        "title": "InstanceGroupMembershipReferenceInstanceContext"
      },
      "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": {
        "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": {
        "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_licensing`: Allocation of one or more software license(s) has failed. Delete\n  the instance and provision it again. If the problem persists, contact IBM Support.\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_licensing",
              "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the instance network attachment was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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"
      },
      "InstanceNetworkAttachmentReferenceFlowLogCollectorContext": {
        "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"
          },
          "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": "InstanceNetworkAttachmentReferenceFlowLogCollectorContext"
      },
      "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": {
            "$ref": "#/components/schemas/InstanceAvailabilityPatch"
          },
          "availability_policy": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyPatch"
          },
          "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.\n- Have the `volume_bandwidth_qos_mode` listed in its `volume_bandwidth_qos_modes`."
              }
            ]
          },
          "reservation_affinity": {
            "$ref": "#/components/schemas/InstanceReservationAffinityPatch"
          },
          "threads_per_core": {
            "$ref": "#/components/schemas/InstanceThreadsPerCorePatch"
          },
          "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/InstanceVCPUPatch"
          },
          "volume_bandwidth_qos_mode": {
            "description": "The volume bandwidth QoS mode to use for this virtual server instance. The specified\nvalue must be listed in the instance profile's `volume_bandwidth_qos_modes`.\n\nFor this property to be changed, the virtual server instance `status` must be\n`stopping` or `stopped`.",
            "enum": [
              "pooled",
              "weighted"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "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`. If specifying a dedicated\nhost or dedicated host group, the `vcpu.percentage` must be `100` and the instance must\nhave two or more vCPUs.",
        "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`. If specifying a dedicated\nhost or dedicated host group, the `vcpu.percentage` must be `100` and the instance must\nhave two or more vCPUs.",
        "maxProperties": 1,
        "type": "object",
        "title": "InstancePlacementTargetPrototype"
      },
      "InstanceProfile": {
        "properties": {
          "availability_class": {
            "$ref": "#/components/schemas/InstanceProfileAvailabilityClass"
          },
          "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_bandwidth_mode": {
            "$ref": "#/components/schemas/InstanceProfileNetworkBandwidthMode"
          },
          "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"
          },
          "supported_vcpu_count": {
            "$ref": "#/components/schemas/InstanceProfileSupportedVCPUCountEnum"
          },
          "threads_per_core": {
            "$ref": "#/components/schemas/InstanceProfileThreadsPerCoreEnum"
          },
          "total_volume_bandwidth": {
            "$ref": "#/components/schemas/InstanceProfileVolumeBandwidth"
          },
          "vcpu_architecture": {
            "$ref": "#/components/schemas/InstanceProfileVCPUArchitecture"
          },
          "vcpu_burst_limit": {
            "$ref": "#/components/schemas/InstanceProfileVCPUBurstLimit"
          },
          "vcpu_count": {
            "$ref": "#/components/schemas/InstanceProfileVCPU"
          },
          "vcpu_manufacturer": {
            "$ref": "#/components/schemas/InstanceProfileVCPUManufacturer"
          },
          "vcpu_percentage": {
            "$ref": "#/components/schemas/InstanceProfileVCPUPercentage"
          },
          "volume_bandwidth_qos_modes": {
            "$ref": "#/components/schemas/InstanceProfileVolumeBandwidthQoSModes"
          },
          "zones": {
            "$ref": "#/components/schemas/InstanceProfileZones"
          }
        },
        "required": [
          "availability_class",
          "bandwidth",
          "cluster_network_attachment_count",
          "confidential_compute_modes",
          "disks",
          "family",
          "href",
          "memory",
          "name",
          "network_attachment_count",
          "network_bandwidth_mode",
          "network_interface_count",
          "os_architecture",
          "port_speed",
          "reservation_terms",
          "resource_type",
          "secure_boot_modes",
          "status",
          "supported_cluster_network_profiles",
          "supported_vcpu_count",
          "threads_per_core",
          "total_volume_bandwidth",
          "vcpu_architecture",
          "vcpu_burst_limit",
          "vcpu_count",
          "vcpu_manufacturer",
          "vcpu_percentage",
          "volume_bandwidth_qos_modes",
          "zones"
        ],
        "type": "object",
        "title": "InstanceProfile"
      },
      "InstanceProfileAvailabilityClass": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceProfileAvailabilityClassEnum"
          },
          {
            "$ref": "#/components/schemas/InstanceProfileAvailabilityClassFixed"
          }
        ],
        "type": "object",
        "title": "InstanceProfileAvailabilityClass"
      },
      "InstanceProfileAvailabilityClassEnum": {
        "description": "The permitted availability class values for an instance with this profile",
        "properties": {
          "default": {
            "description": "The default availability class for an instance with this profile",
            "enum": [
              "spot",
              "standard"
            ],
            "example": "standard",
            "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 permitted values for this profile field",
            "example": [
              "spot",
              "standard"
            ],
            "items": {
              "description": "The availability class for the virtual server instance:\n- `spot`: The virtual server instance may be preempted.\n- `standard`: The virtual server instance will not be preempted.\n\nSee [virtual server instance availability\nclass](https://cloud.ibm.com/docs/vpc?topic=vpc-spot-instances-virtual-servers) for details.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
              "enum": [
                "spot",
                "standard"
              ],
              "example": "standard",
              "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": "InstanceProfileAvailabilityClassEnum"
      },
      "InstanceProfileAvailabilityClassFixed": {
        "description": "The availability class values 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 availability class for the virtual server instance:\n- `spot`: The virtual server instance may be preempted.\n- `standard`: The virtual server instance will not be preempted.\n\nSee [virtual server instance availability\nclass](https://cloud.ibm.com/docs/vpc?topic=vpc-spot-instances-virtual-servers) for details.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "enum": [
              "spot",
              "standard"
            ],
            "example": "standard",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "title": "InstanceProfileAvailabilityClassFixed"
      },
      "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": {
          "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/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/instance/profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
            }
          },
          "profiles": {
            "description": "A page of virtual server instance profiles",
            "items": {
              "$ref": "#/components/schemas/InstanceProfile"
            },
            "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": "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\\d]+){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"
      },
      "InstanceProfileNetworkBandwidthMode": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceProfileNetworkBandwidthModeEnum"
          },
          {
            "$ref": "#/components/schemas/InstanceProfileNetworkBandwidthModeFixed"
          }
        ],
        "type": "object",
        "title": "InstanceProfileNetworkBandwidthMode"
      },
      "InstanceProfileNetworkBandwidthModeEnum": {
        "description": "The permitted network bandwidth modes for an instance with this profile",
        "properties": {
          "default": {
            "description": "The default network bandwidth mode for this profile.",
            "enum": [
              "divided",
              "pooled"
            ],
            "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 network bandwidth modes for an instance\nwith this profile.",
            "items": {
              "description": "A network bandwidth mode:\n\n- `divided`: network bandwidth divided equally across the instance's network attachments\n  (or the instance's network interfaces).\n- `pooled`: network bandwidth pooled among instance network attachments\n  (or the instance's network interfaces).\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
              "enum": [
                "divided",
                "pooled"
              ],
              "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": "InstanceProfileNetworkBandwidthModeEnum"
      },
      "InstanceProfileNetworkBandwidthModeFixed": {
        "description": "The network bandwidth mode 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": "A network bandwidth mode:\n\n- `divided`: network bandwidth divided equally across the instance's network attachments\n  (or the instance's network interfaces).\n- `pooled`: network bandwidth pooled among instance network attachments\n  (or the instance's network interfaces).\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "enum": [
              "divided",
              "pooled"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "title": "InstanceProfileNetworkBandwidthModeFixed"
      },
      "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": {
        "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"
      },
      "InstanceProfileSupportedVCPUCountEnum": {
        "description": "The supported values for vcpu count for an instance 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": [
              2,
              4
            ],
            "items": {
              "type": "integer"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "type",
          "values"
        ],
        "type": "object",
        "title": "InstanceProfileSupportedVCPUCountEnum"
      },
      "InstanceProfileThreadsPerCoreEnum": {
        "properties": {
          "default": {
            "description": "The default threads per core value for an instance with this profile",
            "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 threads per core values for an instance with this profile",
            "example": [
              1,
              2
            ],
            "items": {
              "type": "integer"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "default",
          "type",
          "values"
        ],
        "type": "object",
        "title": "InstanceProfileThreadsPerCoreEnum"
      },
      "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"
      },
      "InstanceProfileVCPUBurstLimit": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceProfileVCPUBurstLimitFixed"
          }
        ],
        "type": "object",
        "title": "InstanceProfileVCPUBurstLimit"
      },
      "InstanceProfileVCPUBurstLimitFixed": {
        "description": "The permitted value for VCPU burst limit percentage 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": 200,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "title": "InstanceProfileVCPUBurstLimitFixed"
      },
      "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 default 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"
      },
      "InstanceProfileVCPUPercentage": {
        "description": "The permitted values for VCPU percentage 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": [
              10,
              25,
              50,
              100
            ],
            "items": {
              "type": "integer"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "default",
          "type",
          "values"
        ],
        "type": "object",
        "title": "InstanceProfileVCPUPercentage"
      },
      "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"
      },
      "InstanceProfileVolumeBandwidthQoSModes": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceProfileVolumeBandwidthQoSModesEnum"
          },
          {
            "$ref": "#/components/schemas/InstanceProfileVolumeBandwidthQoSModesDependent"
          }
        ],
        "type": "object",
        "title": "InstanceProfileVolumeBandwidthQoSModes"
      },
      "InstanceProfileVolumeBandwidthQoSModesDependent": {
        "description": "The volume bandwidth QoS modes for an instance 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": "InstanceProfileVolumeBandwidthQoSModesDependent"
      },
      "InstanceProfileVolumeBandwidthQoSModesEnum": {
        "properties": {
          "default": {
            "description": "The default volume bandwidth QoS mode for this profile.",
            "enum": [
              "pooled",
              "weighted"
            ],
            "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 permitted volume bandwidth QoS modes for an instance using this profile.",
            "example": [
              "pooled",
              "weighted"
            ],
            "items": {
              "description": "A volume bandwidth QoS mode:\n- `pooled`: All volumes attached to an instance will pool and share bandwidth.\n- `weighted`: Each volume attached to an instance will have its own bandwidth, weighted\naccording to its IOPS.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
              "enum": [
                "pooled",
                "weighted"
              ],
              "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": "InstanceProfileVolumeBandwidthQoSModesEnum"
      },
      "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"
      },
      "InstanceProfileZones": {
        "description": "The zones in this region that support this instance profile.",
        "items": {
          "$ref": "#/components/schemas/ZoneReference"
        },
        "maxItems": 10,
        "minItems": 0,
        "type": "array",
        "title": "InstanceProfileZones"
      },
      "InstancePrototype": {
        "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": {
            "$ref": "#/components/schemas/InstanceAvailabilityPrototype"
          },
          "availability_policy": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyPrototype"
          },
          "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\nthe virtual server instance as cloud-init vendor data. For cloud-init enabled images,\nthese keys 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",
            "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": "bxf-2x8"
                },
                "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this\nvirtual server instance.\n\nIf unspecified, `bxf-2x8` will be used, but this default value may change\nin the future without changing the API version.",
                "example": {
                  "name": "cx2-16x32"
                }
              }
            ]
          },
          "reservation_affinity": {
            "$ref": "#/components/schemas/InstanceReservationAffinityPrototype"
          },
          "resource_group": {
            "$ref": "#/components/schemas/ResourceGroupIdentity"
          },
          "threads_per_core": {
            "$ref": "#/components/schemas/InstanceThreadsPerCorePrototype"
          },
          "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.",
            "example": "[...]",
            "maxLength": 65535,
            "minLength": 0,
            "pattern": "^[\\s\\S]*$",
            "type": "string"
          },
          "vcpu": {
            "$ref": "#/components/schemas/InstanceVCPUPrototype"
          },
          "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"
          },
          "volume_bandwidth_qos_mode": {
            "description": "The volume bandwidth QoS mode to use for this virtual server instance. The specified\nvalue must be listed in the instance profile's `volume_bandwidth_qos_modes`.\n\nIf unspecified, the default volume bandwidth QoS mode from the profile will be used.",
            "enum": [
              "pooled",
              "weighted"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "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": {
        "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,\nthe instance must have two or more vCPUs, 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 `disabled` if\nthe provided instance configuration is restricted from enabling reservations. The\npolicy will default to `automatic` in 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"
      },
      "InstanceSoftwareAttachment": {
        "properties": {
          "catalog_offering": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentCatalogOffering"
          },
          "created_at": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentCreatedAt"
          },
          "entitlement": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentEntitlement"
          },
          "href": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentHref"
          },
          "id": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentId"
          },
          "lifecycle_reasons": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentLifecycleReasons"
          },
          "lifecycle_state": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentLifecycleState"
          },
          "name": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentName"
          },
          "offering_instance": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentOfferingInstance"
          },
          "resource_type": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentResourceType"
          }
        },
        "required": [
          "created_at",
          "href",
          "id",
          "lifecycle_reasons",
          "lifecycle_state",
          "name",
          "resource_type"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachment"
      },
      "InstanceSoftwareAttachmentCatalogOffering": {
        "description": "The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user)\noffering for this instance software attachment. May be absent if\n`software_attachment.lifecycle_state` is not `stable`.",
        "properties": {
          "plan": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CatalogOfferingVersionPlanReference"
              }
            ],
            "description": "The billing plan for the catalog offering version associated with this instance software\nattachment.\n\nIf absent, no billing plan is associated with the catalog offering version (free)."
          },
          "version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CatalogOfferingVersionReference"
              }
            ],
            "description": "The catalog offering version associated with this instance software attachment."
          }
        },
        "required": [
          "version"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentCatalogOffering"
      },
      "InstanceSoftwareAttachmentCollection": {
        "properties": {
          "software_attachments": {
            "description": "The software attachments for the instance",
            "items": {
              "$ref": "#/components/schemas/InstanceSoftwareAttachment"
            },
            "type": "array"
          }
        },
        "required": [
          "software_attachments"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentCollection"
      },
      "InstanceSoftwareAttachmentCreatedAt": {
        "description": "The date and time that the instance software attachment was created.",
        "example": "2026-01-02T03:04:05.006Z",
        "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": "InstanceSoftwareAttachmentCreatedAt"
      },
      "InstanceSoftwareAttachmentEntitlement": {
        "description": "The entitlement for the licensed software for this instance software attachment.",
        "properties": {
          "licensed_software": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentEntitlementLicensedSoftwareCollection"
          }
        },
        "required": [
          "licensed_software"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentEntitlement"
      },
      "InstanceSoftwareAttachmentEntitlementLicensedSoftware": {
        "description": "The licensed software for the instance software attachment's entitlement.",
        "properties": {
          "sku": {
            "$ref": "#/components/schemas/LicensedSoftwareSKU"
          },
          "vendor": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentEntitlementLicensedSoftwareVendor"
          }
        },
        "required": [
          "sku",
          "vendor"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentEntitlementLicensedSoftware"
      },
      "InstanceSoftwareAttachmentEntitlementLicensedSoftwareCollection": {
        "description": "The licensed software for this instance software attachment entitlement.",
        "items": {
          "$ref": "#/components/schemas/InstanceSoftwareAttachmentEntitlementLicensedSoftware"
        },
        "type": "array",
        "title": "InstanceSoftwareAttachmentEntitlementLicensedSoftwareCollection"
      },
      "InstanceSoftwareAttachmentEntitlementLicensedSoftwareVendor": {
        "properties": {
          "name": {
            "$ref": "#/components/schemas/LicensedSoftwareVendorName"
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentEntitlementLicensedSoftwareVendor"
      },
      "InstanceSoftwareAttachmentHref": {
        "description": "The URL for this instance software attachment.",
        "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",
        "title": "InstanceSoftwareAttachmentHref"
      },
      "InstanceSoftwareAttachmentId": {
        "description": "The unique identifier for this instance software attachment.",
        "example": "0717-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
        "maxLength": 64,
        "minLength": 1,
        "pattern": "^[-0-9a-z_]+$",
        "type": "string",
        "title": "InstanceSoftwareAttachmentId"
      },
      "InstanceSoftwareAttachmentLifecycleReason": {
        "properties": {
          "code": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentLifecycleReasonCode"
          },
          "message": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentLifecycleReasonMessage"
          },
          "more_info": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentLifecycleReasonMoreInfo"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentLifecycleReason"
      },
      "InstanceSoftwareAttachmentLifecycleReasonCode": {
        "description": "A reason code for this lifecycle state:\n- `failed_licensing`: Allocation of one or more software license(s) has failed. Delete\n  the instance and provision it again. If the problem persists, contact IBM Support.\n- `failed_registration`: The software instance's registration to Resource Controller has\n  failed. Delete the instance and provision it again. If the problem persists, contact IBM\n  Support.\n- `internal_error`: Internal error (contact IBM support)\n- `pending_registration`: The software instance's registration to Resource Controller,\n  and the creation of any required software license(s), is being processed.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
        "enum": [
          "failed_licensing",
          "failed_registration",
          "internal_error",
          "pending_registration"
        ],
        "example": "pending_registration",
        "type": "string",
        "title": "InstanceSoftwareAttachmentLifecycleReasonCode"
      },
      "InstanceSoftwareAttachmentLifecycleReasonMessage": {
        "description": "An explanation of the reason for this lifecycle state.",
        "example": "The software instance is being registered with Resource Controller",
        "type": "string",
        "title": "InstanceSoftwareAttachmentLifecycleReasonMessage"
      },
      "InstanceSoftwareAttachmentLifecycleReasonMoreInfo": {
        "description": "A link to documentation about the reason for this lifecycle state.",
        "example": "https://cloud.ibm.com/apidocs/vpc#failed-registration",
        "maxLength": 8000,
        "minLength": 10,
        "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$",
        "type": "string",
        "title": "InstanceSoftwareAttachmentLifecycleReasonMoreInfo"
      },
      "InstanceSoftwareAttachmentLifecycleReasons": {
        "description": "The lifecycle reasons for this instance software attachment (if any).",
        "items": {
          "$ref": "#/components/schemas/InstanceSoftwareAttachmentLifecycleReason"
        },
        "minItems": 0,
        "type": "array",
        "title": "InstanceSoftwareAttachmentLifecycleReasons"
      },
      "InstanceSoftwareAttachmentLifecycleState": {
        "description": "The lifecycle state of the instance software attachment.",
        "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": "InstanceSoftwareAttachmentLifecycleState"
      },
      "InstanceSoftwareAttachmentName": {
        "description": "The name for this instance software attachment. The name is unique across all instance\nsoftware attachments for the instance.",
        "example": "my-software-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",
        "title": "InstanceSoftwareAttachmentName"
      },
      "InstanceSoftwareAttachmentNamePatch": {
        "description": "The name for this instance software attachment. The name must not be used by another\nsoftware attachment for this instance.",
        "example": "my-software-attachment-patch",
        "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",
        "title": "InstanceSoftwareAttachmentNamePatch"
      },
      "InstanceSoftwareAttachmentOfferingInstance": {
        "properties": {
          "crn": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentOfferingInstanceCRN"
          }
        },
        "required": [
          "crn"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentOfferingInstance"
      },
      "InstanceSoftwareAttachmentOfferingInstanceCRN": {
        "description": "The CRN for the software offering instance registered with Resource Controller that is\nassociated with the instance software attachment.",
        "example": "crn:v1:bluemix:public:globalcatalog-instance:us-south:a/aa2432b1fa4d4ace891e9b80fc104e34:oi-07a7_26fb923a-873f-43bf-94e5-93431235ad5f-31323517-65cc-49cf-9281-13ee3399b747::",
        "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",
        "title": "InstanceSoftwareAttachmentOfferingInstanceCRN"
      },
      "InstanceSoftwareAttachmentPatch": {
        "properties": {
          "name": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentNamePatch"
          }
        },
        "type": "object",
        "title": "InstanceSoftwareAttachmentPatch"
      },
      "InstanceSoftwareAttachmentReference": {
        "properties": {
          "deleted": {
            "$ref": "#/components/schemas/Deleted"
          },
          "href": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentHref"
          },
          "id": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentId"
          },
          "name": {
            "description": "The name for this instance software attachment. The name is unique across all instance\nsoftware attachments for the instance.",
            "example": "my-software-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": {
            "$ref": "#/components/schemas/InstanceSoftwareAttachmentResourceType"
          }
        },
        "required": [
          "href",
          "id",
          "name",
          "resource_type"
        ],
        "type": "object",
        "title": "InstanceSoftwareAttachmentReference"
      },
      "InstanceSoftwareAttachmentResourceType": {
        "description": "The resource type",
        "enum": [
          "instance_software_attachment"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceSoftwareAttachmentResourceType"
      },
      "InstanceSoftwareAttachments": {
        "description": "The software attachments for this instance.",
        "items": {
          "$ref": "#/components/schemas/InstanceSoftwareAttachmentReference"
        },
        "minItems": 0,
        "type": "array",
        "title": "InstanceSoftwareAttachments"
      },
      "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_by_preemption",
              "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": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceByImageInstanceTemplateContext"
          },
          {
            "$ref": "#/components/schemas/InstanceBySourceSnapshotInstanceTemplateContext"
          },
          {
            "$ref": "#/components/schemas/InstanceByCatalogOfferingInstanceTemplateContext"
          }
        ],
        "properties": {
          "availability": {
            "$ref": "#/components/schemas/InstanceAvailabilityPrototype"
          },
          "availability_policy": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyPrototype"
          },
          "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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\nthe virtual server instance as cloud-init vendor data. For cloud-init enabled images,\nthese keys 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",
            "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": "bxf-2x8"
                },
                "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this\nvirtual server instance.\n\nIf unspecified, `bxf-2x8` will be used, but this default value may change\nin the future without changing the API version.",
                "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"
              }
            ]
          },
          "threads_per_core": {
            "$ref": "#/components/schemas/InstanceThreadsPerCorePrototype"
          },
          "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.",
            "example": "[...]",
            "maxLength": 65535,
            "minLength": 0,
            "pattern": "^[\\s\\S]*$",
            "type": "string"
          },
          "vcpu": {
            "$ref": "#/components/schemas/InstanceVCPUPrototype"
          },
          "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"
          },
          "volume_bandwidth_qos_mode": {
            "description": "The volume bandwidth QoS mode to use for this virtual server instance. The specified\nvalue must be listed in the instance profile's `volume_bandwidth_qos_modes`.\n\nIf unspecified, the default volume bandwidth QoS mode from the profile will be used.",
            "enum": [
              "pooled",
              "weighted"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "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": {
        "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": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstanceTemplateByImage"
          },
          {
            "$ref": "#/components/schemas/InstanceTemplateBySourceTemplate"
          },
          {
            "$ref": "#/components/schemas/InstanceTemplateBySourceSnapshot"
          },
          {
            "$ref": "#/components/schemas/InstanceTemplateByCatalogOffering"
          }
        ],
        "properties": {
          "availability": {
            "$ref": "#/components/schemas/InstanceAvailabilityPrototype"
          },
          "availability_policy": {
            "$ref": "#/components/schemas/InstanceAvailabilityPolicyPrototype"
          },
          "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\nthe virtual server instance as cloud-init vendor data. For cloud-init enabled images,\nthese keys 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",
            "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": "bxf-2x8"
                },
                "description": "The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this\nvirtual server instance.\n\nIf unspecified, `bxf-2x8` will be used, but this default value may change\nin the future without changing the API version.",
                "example": {
                  "name": "cx2-16x32"
                }
              }
            ]
          },
          "reservation_affinity": {
            "$ref": "#/components/schemas/InstanceReservationAffinityPrototype"
          },
          "resource_group": {
            "$ref": "#/components/schemas/ResourceGroupIdentity"
          },
          "threads_per_core": {
            "$ref": "#/components/schemas/InstanceThreadsPerCorePrototype"
          },
          "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.",
            "example": "[...]",
            "maxLength": 65535,
            "minLength": 0,
            "pattern": "^[\\s\\S]*$",
            "type": "string"
          },
          "vcpu": {
            "$ref": "#/components/schemas/InstanceVCPUPrototype"
          },
          "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"
          },
          "volume_bandwidth_qos_mode": {
            "description": "The volume bandwidth QoS mode to use for this virtual server instance. The specified\nvalue must be listed in the instance profile's `volume_bandwidth_qos_modes`.\n\nIf unspecified, the default volume bandwidth QoS mode from the profile will be used.",
            "enum": [
              "pooled",
              "weighted"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "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": {
        "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"
      },
      "InstanceThreadsPerCore": {
        "description": "The threads per core for this virtual server instance.",
        "format": "int64",
        "maximum": 2,
        "minimum": 1,
        "type": "integer",
        "title": "InstanceThreadsPerCore"
      },
      "InstanceThreadsPerCorePatch": {
        "description": "The threads per core to use for this virtual server instance. Must be one of the values\nin the profile's `threads_per_core.values`.\n\nFor this property to be changed, the virtual server instance `status` must be\n`stopping` or `stopped`.",
        "format": "int64",
        "maximum": 2,
        "minimum": 1,
        "type": "integer",
        "title": "InstanceThreadsPerCorePatch"
      },
      "InstanceThreadsPerCorePrototype": {
        "description": "The threads per core to use for this virtual server instance. Must be one of the values\nin the profile's `threads_per_core.values`.\n\nIf unspecified, the default threads per core from the profile will be used.",
        "format": "int64",
        "maximum": 2,
        "minimum": 1,
        "type": "integer",
        "title": "InstanceThreadsPerCorePrototype"
      },
      "InstanceVCPU": {
        "description": "The virtual server instance VCPU configuration",
        "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"
          },
          "burst": {
            "$ref": "#/components/schemas/InstanceVCPUBurst"
          },
          "count": {
            "description": "The number of VCPUs assigned",
            "example": 4,
            "minimum": 1,
            "type": "integer"
          },
          "manufacturer": {
            "$ref": "#/components/schemas/InstanceVCPUManufacturer"
          },
          "percentage": {
            "$ref": "#/components/schemas/InstanceVCPUPercentage"
          }
        },
        "required": [
          "architecture",
          "count",
          "manufacturer",
          "percentage"
        ],
        "type": "object",
        "title": "InstanceVCPU"
      },
      "InstanceVCPUBurst": {
        "properties": {
          "limit": {
            "$ref": "#/components/schemas/InstanceVCPUBurstLimit"
          }
        },
        "required": [
          "limit"
        ],
        "type": "object",
        "title": "InstanceVCPUBurst"
      },
      "InstanceVCPUBurstLimit": {
        "description": "The maximum percentage of the base VCPU capacity the virtual server may exceed. For example,\nif `vcpu.count` is 1, `vcpu.percentage` is 50 and `vcpu.burst.limit` is 200, the instance\nmay burst to using one full VCPU.\n\nThe maximum value for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
        "example": 200,
        "maximum": 800,
        "minimum": 100,
        "type": "integer",
        "title": "InstanceVCPUBurstLimit"
      },
      "InstanceVCPUManufacturer": {
        "description": "The VCPU manufacturer for this instance. It may be `unassigned` when\ninstance `status` is `failed`, `pending`, or `stopped`.\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",
          "unassigned"
        ],
        "example": "intel",
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "InstanceVCPUManufacturer"
      },
      "InstanceVCPUPatch": {
        "properties": {
          "percentage": {
            "$ref": "#/components/schemas/InstanceVCPUPercentagePatch"
          }
        },
        "required": [
          "percentage"
        ],
        "type": "object",
        "title": "InstanceVCPUPatch"
      },
      "InstanceVCPUPercentage": {
        "description": "The percentage of VCPU time allocated to the virtual server instance.\n\nThe virtual server instance `vcpu.percentage` will be `100` when:\n- The virtual server instance `placement_target` is a dedicated host or dedicated\n  host group.\n- The virtual server instance `reservation_affinity.policy` is `disabled`.",
        "example": 100,
        "maximum": 100,
        "minimum": 1,
        "type": "integer",
        "title": "InstanceVCPUPercentage"
      },
      "InstanceVCPUPercentagePatch": {
        "description": "The percentage of VCPU time allocated to the virtual server instance.\n\nThe virtual server instance `vcpu.percentage` must be `100` when:\n- The virtual server instance `placement_target` is a dedicated host or dedicated\n  host group.\n- The virtual server instance `reservation_affinity.policy` is not `disabled`.\n\nFor this property to be changed, the virtual server instance `status` must be\n`stopping` or `stopped`.",
        "example": 100,
        "maximum": 100,
        "minimum": 1,
        "type": "integer",
        "title": "InstanceVCPUPercentagePatch"
      },
      "InstanceVCPUPercentagePrototype": {
        "description": "The percentage of VCPU clock cycles allocated to the instance.\n\nThe virtual server instance `vcpu.percentage` must be `100` when:\n- The virtual server instance `placement_target` is a dedicated host or dedicated\n  host group.\n- The virtual server instance `reservation_affinity.policy` is not `disabled`.\n\nIf unspecified, the default for `vcpu_percentage` from the profile will be used.",
        "example": 100,
        "maximum": 100,
        "minimum": 1,
        "type": "integer",
        "title": "InstanceVCPUPercentagePrototype"
      },
      "InstanceVCPUPrototype": {
        "properties": {
          "percentage": {
            "$ref": "#/components/schemas/InstanceVCPUPercentagePrototype"
          }
        },
        "type": "object",
        "title": "InstanceVCPUPrototype"
      },
      "Key": {
        "properties": {
          "created_at": {
            "description": "The date and time that the key was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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"
      },
      "LicensedSoftwareSKU": {
        "description": "The SKU for this licensed software.",
        "example": "FC1-10-IDCLD-445-02-12",
        "maxLength": 1024,
        "minLength": 1,
        "pattern": "^[ -~]+$",
        "type": "string",
        "title": "LicensedSoftwareSKU"
      },
      "LicensedSoftwareVendorName": {
        "description": "The name of the vendor providing this licensed software.",
        "example": "fortinet",
        "maxLength": 16,
        "minLength": 1,
        "pattern": "^[a-z0-9-]{1,16}$",
        "type": "string",
        "title": "LicensedSoftwareVendorName"
      },
      "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": {
        "properties": {
          "access_mode": {
            "$ref": "#/components/schemas/LoadBalancerAccessMode"
          },
          "advanced_health_checks_supported": {
            "description": "Indicates whether this load balancer supports advanced health checks.",
            "type": "boolean"
          },
          "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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
          },
          "fqdn_pool_members_supported": {
            "description": "Indicates whether this load balancer supports pool members specified by their fully\nqualified domain names.",
            "type": "boolean"
          },
          "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-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."
          },
          "mtls_supported": {
            "description": "Indicates whether this load balancer supports mTLS.",
            "example": false,
            "type": "boolean"
          },
          "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",
          "advanced_health_checks_supported",
          "attached_load_balancer_pool_members",
          "availability",
          "created_at",
          "crn",
          "failsafe_policy_actions",
          "fqdn_pool_members_supported",
          "hostname",
          "href",
          "id",
          "instance_groups_supported",
          "is_private_path",
          "is_public",
          "listeners",
          "logging",
          "mtls_supported",
          "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": {
        "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": {
        "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."
              }
            ]
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerListenerClientAuthentication"
          },
          "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": "^https:\\/\\/([^\\/?#]*)([^?#]*)/load_balancers/[-0-9a-z_]+/listeners/[-0-9a-z_]+$",
            "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"
      },
      "LoadBalancerListenerClientAuthentication": {
        "properties": {
          "certificate_authority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateInstanceReference"
              }
            ],
            "description": "The certificate instance used for the listener client certificate authority."
          },
          "certificate_revocation_list": {
            "description": "A [PEM-encoded](https://www.rfc-editor.org/rfc/rfc7468) certificate revocation list\n(CRL) used for the listener.",
            "example": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n",
            "maxLength": 500000,
            "minLength": 48,
            "pattern": "^-----BEGIN X509 CRL-----(\\n|\\r|\\r\\n)([0-9a-zA-Z\\+\\/=]{64}(\\n|\\r|\\r\\n))*([0-9a-zA-Z\\+\\/=]{1,63}(\\n|\\r|\\r\\n))?-----END X509 CRL-----(\\n|\\r|\\r\\n)+$",
            "type": "string"
          }
        },
        "required": [
          "certificate_authority"
        ],
        "type": "object",
        "title": "LoadBalancerListenerClientAuthentication"
      },
      "LoadBalancerListenerClientAuthenticationCertificateAuthorityPatch": {
        "description": "The certificate instance to use for the listener client certificate authority.\n\nSpecify `null` to remove an existing certificate authority.",
        "nullable": true,
        "oneOf": [
          {
            "$ref": "#/components/schemas/CertificateInstanceIdentityByCRN"
          }
        ],
        "type": "object",
        "title": "LoadBalancerListenerClientAuthenticationCertificateAuthorityPatch"
      },
      "LoadBalancerListenerClientAuthenticationCertificateRevocationListPatch": {
        "description": "A [PEM-encoded](https://www.rfc-editor.org/rfc/rfc7468) (with the label `X509 CRL`)\ncertificate revocation list (CRL) to use for the listener.\n\nThe CRL must be formatted using the X.509 standard as described in\n[RFC 5280](https://www.rfc-editor.org/rfc/rfc5280).\n\nSpecify `null` to remove an existing certificate revocation list.",
        "example": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n",
        "maxLength": 500000,
        "minLength": 48,
        "nullable": true,
        "pattern": "^-----BEGIN X509 CRL-----(\\n|\\r|\\r\\n)([0-9a-zA-Z\\+\\/=]{64}(\\n|\\r|\\r\\n))*([0-9a-zA-Z\\+\\/=]{1,63}(\\n|\\r|\\r\\n))?-----END X509 CRL-----(\\n|\\r|\\r\\n)+$",
        "type": "string",
        "title": "LoadBalancerListenerClientAuthenticationCertificateRevocationListPatch"
      },
      "LoadBalancerListenerClientAuthenticationPatch": {
        "description": "The client authentication to use for this listener.\n\nSupported by load balancers with `mtls_supported` set to `true`. The listener must\nhave a `protocol` of `https`.\n\nSpecify `null` to remove an existing client authentication.",
        "nullable": true,
        "properties": {
          "certificate_authority": {
            "$ref": "#/components/schemas/LoadBalancerListenerClientAuthenticationCertificateAuthorityPatch"
          },
          "certificate_revocation_list": {
            "$ref": "#/components/schemas/LoadBalancerListenerClientAuthenticationCertificateRevocationListPatch"
          }
        },
        "type": "object",
        "title": "LoadBalancerListenerClientAuthenticationPatch"
      },
      "LoadBalancerListenerClientAuthenticationPrototype": {
        "description": "The client authentication to use for this listener.\n\nSupported by load balancers with `mtls_supported` set to `true`. The listener must\nhave a `protocol` of `https`.",
        "properties": {
          "certificate_authority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateInstanceIdentity"
              }
            ],
            "description": "The certificate instance to use for the listener client certificate authority.\n\nRequired if `certificate_revocation_list` is specified."
          },
          "certificate_revocation_list": {
            "description": "A [PEM-encoded](https://www.rfc-editor.org/rfc/rfc7468) (with the label `X509 CRL`)\ncertificate revocation list (CRL) to use for the listener.\n\nThe CRL must be formatted using the X.509 standard as described in\n[RFC 5280](https://www.rfc-editor.org/rfc/rfc5280).\n\nIf specified, `certificate_authority` must also be specified.",
            "example": "-----BEGIN X509 CRL-----\nMIICvTCBpgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEOMAwGA1UE\nCAwFZGVsYXMxDDAKBgNVBAoMA0lCTTENMAsGA1UECwwEcm9vdDEQMA4GA1UEAwwH\ncm9vdC1jYRcNMjUwOTA4MDUwMjQwWhcNMjUxMDA4MDUwMjQwWjAVMBMCAhAAFw0y\nNTA5MDgwNTAxNTlaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggIB\nACeEcj7ompUepc5qTvTrNA5PoK5bN71gNI7Rbhq/Bxf1YPMp2iU3qMSj7YpVP7aw\nGNrxFoIZcQ4X7PYyHMfDk6Z83PSTVMnSOVk09fZW49tyVTWmzBVLz3R1bPasnWTZ\n0hRIv9j9n7Lemin+0ubIR/2zmsfBs1JFAFEbbRcgwg+qotsfZNLkX6bjHDpsRQzE\nmXUEu4/AqAsWPbFzG2uMKZ9pKOK+Nn3bt/NEK+AFlnSmgjEqzQ+0zhsrCExIReJV\nc2oiLBkLG6rBwxlGDog+PqwjP+1wGNIL1J3c2lMW1IGMNcts/aDBO5LtPVIY1LsQ\nFoeaTfm3U3GKC/pTczoDk/pKN756f8O05nTWUHgktcNsPvgqDKnpvEkI3VPf9Y4a\nfMOzKgVTgY1dSgjzHO8+4ZfcVGpBePsjOe0/RCUwkgtgOyGtcmBPTMJa0elJzjaM\njD9myqIXkB359sqbuEmcrjgo5uUUvubFYpmT/W0YxOi/py/bDK+7uUs38nUElNkZ\n+YFRpNWjLF9JtAghX5MhA5BwhTTuATvWYuDdK769ifi9qcYvE4u+VNxYfOpPY6sv\nx4FnkZ9+A7s2hk11d+DEq29Efa0xak8rO1LzT5hCSFT0P3KfZEZMpbuXpzVGiZoM\ng5cWHgYcNnzhUatKodvzZizAOVGRR7UFg42O4ylhxDVe\n-----END X509 CRL-----\n",
            "maxLength": 500000,
            "minLength": 48,
            "pattern": "^-----BEGIN X509 CRL-----(\\n|\\r|\\r\\n)([0-9a-zA-Z\\+\\/=]{64}(\\n|\\r|\\r\\n))*([0-9a-zA-Z\\+\\/=]{1,63}(\\n|\\r|\\r\\n))?-----END X509 CRL-----(\\n|\\r|\\r\\n)+$",
            "type": "string"
          }
        },
        "required": [
          "certificate_authority"
        ],
        "type": "object",
        "title": "LoadBalancerListenerClientAuthenticationPrototype"
      },
      "LoadBalancerListenerCollection": {
        "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 specified, the\ndefault pool will not be used.\n\nThe specified pool must:\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- Not already be the `failsafe_policy.target` for another `default_pool` and\n  `failsafe_policy.target` (applies only to load balancers in the `network`\n  family).\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": "^https:\\/\\/([^\\/?#]*)([^?#]*)/load_balancers/[-0-9a-z_]+/listeners/[-0-9a-z_]+$",
            "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`."
              }
            ]
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerListenerClientAuthenticationPatch"
          },
          "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
        "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",
              "starts_with"
            ],
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "my-value",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "condition",
          "created_at",
          "href",
          "id",
          "provisioning_status",
          "type",
          "value"
        ],
        "type": "object",
        "title": "LoadBalancerListenerPolicyRule"
      },
      "LoadBalancerListenerPolicyRuleCollection": {
        "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",
              "starts_with"
            ],
            "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.",
            "example": "my-value",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object",
        "title": "LoadBalancerListenerPolicyRulePatch"
      },
      "LoadBalancerListenerPolicyRulePrototype": {
        "properties": {
          "condition": {
            "description": "The condition for the rule.",
            "enum": [
              "contains",
              "equals",
              "matches_regex",
              "starts_with"
            ],
            "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.",
            "example": "my-value",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "condition",
          "type",
          "value"
        ],
        "type": "object",
        "title": "LoadBalancerListenerPolicyRulePrototype"
      },
      "LoadBalancerListenerPolicyRuleReference": {
        "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": {
        "anyOf": [
          {
            "$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."
              }
            ]
          }
        ],
        "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`.",
        "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`."
              }
            ]
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerListenerClientAuthenticationPrototype"
          },
          "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.\n\nIf specified, the pool must:\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- Not already be the `failsafe_policy.target` for another `default_pool` and\n  `failsafe_policy.target` (applies only to load balancers in the `network`\n  family).\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`."
              }
            ]
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerListenerClientAuthenticationPrototype"
          },
          "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": {
        "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": "^https:\\/\\/([^\\/?#]*)([^?#]*)/load_balancers/[-0-9a-z_]+/listeners/[-0-9a-z_]+$",
            "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": {
        "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"
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolClientAuthentication"
          },
          "created_at": {
            "description": "The date and time that this pool was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": "^https:\\/\\/([^\\/?#]*)([^?#]*)/load_balancers/[-0-9a-z_]+/pools/[-0-9a-z_]+$",
            "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"
          },
          "server_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolServerAuthentication"
          },
          "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"
      },
      "LoadBalancerPoolClientAuthentication": {
        "description": "The client authentication used for this pool.",
        "properties": {
          "certificate_instance": {
            "$ref": "#/components/schemas/CertificateInstanceReference"
          }
        },
        "required": [
          "certificate_instance"
        ],
        "type": "object",
        "title": "LoadBalancerPoolClientAuthentication"
      },
      "LoadBalancerPoolClientAuthenticationPatch": {
        "description": "The client authentication to use for this pool.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool must\nhave a `protocol` of `https`.\n\nSpecify `null` to remove an existing client authentication.",
        "nullable": true,
        "properties": {
          "certificate_instance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateInstanceIdentity"
              }
            ],
            "description": "The backend certificate instance to use for client\ncertificate verification.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool\nmust have a `protocol` of `https`."
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolClientAuthenticationPatch"
      },
      "LoadBalancerPoolClientAuthenticationPrototype": {
        "description": "The client authentication to use for this pool.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool must\nhave a `protocol` of `https`.",
        "properties": {
          "certificate_instance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateInstanceIdentity"
              }
            ],
            "description": "The backend certificate instance to use for client\ncertificate verification.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool\nmust have a `protocol` of `https`."
          }
        },
        "required": [
          "certificate_instance"
        ],
        "type": "object",
        "title": "LoadBalancerPoolClientAuthenticationPrototype"
      },
      "LoadBalancerPoolCollection": {
        "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\nFor load balancers in the `application` family, the failsafe target pool must not\nalready be the default pool or a failsafe target pool for the same listener.\n\nFor load balancers in the `network` family, the pool specified in the URL must not\nbe a failsafe target pool for another pool.\n\nIf specified, `action` must be `forward`.\n\n**For more information, see:**\n- [Creating an application load balancer](\n    https://cloud.ibm.com/docs/vpc?topic=vpc-load-balancers&interface=ui)\n- [Working with application load balancer pools](\n    https://cloud.ibm.com/docs/vpc?topic=vpc-alb-pools&interface=ui)\n- [Working with network load balancer pools](\n    https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-pools&interface=ui)"
              }
            ]
          }
        },
        "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\nFor load balancers in the `application` family, the failsafe target pool must not\nalready be the default pool or a failsafe target pool for the same listener.\n\nFor load balancers in the `network` family, the pool specified in the URL must not\nbe a failsafe target pool for another pool.\n\nIf specified, `action` must be `forward`.\n\nSpecify `null` to remove an existing failsafe target pool.\n\n**For more information, see:**\n- [Creating an application load balancer](\n    https://cloud.ibm.com/docs/vpc?topic=vpc-load-balancers&interface=ui)\n- [Working with application load balancer pools](\n    https://cloud.ibm.com/docs/vpc?topic=vpc-alb-pools&interface=ui)\n- [Working with network load balancer pools](\n    https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-pools&interface=ui)",
        "example": {
          "id": "r006-70294e14-4e61-11e8-bcf4-0242ac110004"
        },
        "nullable": true,
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoadBalancerPoolIdentityById"
          },
          {
            "$ref": "#/components/schemas/LoadBalancerPoolIdentityByHref"
          }
        ],
        "type": "object",
        "title": "LoadBalancerPoolFailsafePolicyTargetPatch"
      },
      "LoadBalancerPoolHealthMonitor": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPS"
          },
          {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeTCP"
          }
        ],
        "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"
          },
          "request": {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPatch"
          },
          "response": {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponsePatch"
          },
          "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": {
          "request": {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequest"
          },
          "response": {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponse"
          },
          "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": [
          "request",
          "response",
          "type",
          "url_path"
        ],
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPS"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSPrototype": {
        "properties": {
          "request": {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPrototype"
          },
          "response": {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponsePrototype"
          },
          "type": {
            "description": "The protocol type to use for health checks.\n\nLoad balancers in the `network` family do not support the `https` protocol.",
            "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"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequest": {
        "properties": {
          "body": {
            "description": "The HTTP request body used for health checks.\n\nIf absent, the health checks will ignore the request body.",
            "example": "ACTIVE",
            "maxLength": 4000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E\\r\\n]+$",
            "type": "string"
          },
          "headers": {
            "description": "The HTTP request headers used for health checks.\n\nIf empty, the health checks will ignore the request headers.",
            "items": {
              "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeader"
            },
            "type": "array",
            "uniqueItems": true
          },
          "method": {
            "description": "The HTTP request method used for health checks.",
            "enum": [
              "get",
              "post"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "method"
        ],
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequest"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestGetPrototype": {
        "properties": {
          "headers": {
            "default": [],
            "description": "The HTTP request headers to use for health checks. If empty, health check HTTP requests\nwill not have headers.\n\nInclude a `Host` field and its value to enable the `HTTP/1.1` protocol for health checks.\nIf a `Host` header is not included, `HTTP/1.0` will be used by default. More than one\n`Host` header is not allowed.\n\nA header must not exceed 1000 characters, and all headers combined must not exceed\n4000 characters.",
            "items": {
              "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeaderPrototype"
            },
            "type": "array",
            "uniqueItems": true
          },
          "method": {
            "default": "get",
            "description": "The HTTP request method to use for health checks.",
            "enum": [
              "get"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestGetPrototype"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeader": {
        "description": "An HTTP request header used for health checks.",
        "properties": {
          "field": {
            "description": "The field of an HTTP request header used for health checks.",
            "example": "Content-Type",
            "maxLength": 1000,
            "minLength": 1,
            "pattern": "^([a-zA-Z][-a-zA-Z]*[a-zA-Z])$",
            "type": "string"
          },
          "value": {
            "description": "The value of an HTTP request header used for health checks.",
            "example": "text/plain",
            "maxLength": 1000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E]+$",
            "type": "string"
          }
        },
        "required": [
          "field",
          "value"
        ],
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeader"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeaderPrototype": {
        "description": "An HTTP request header to use for health checks.",
        "properties": {
          "field": {
            "description": "The field of an HTTP request header to use for health checks.",
            "example": "Content-Type",
            "maxLength": 1000,
            "minLength": 1,
            "pattern": "^([a-zA-Z][-a-zA-Z]*[a-zA-Z])$",
            "type": "string"
          },
          "value": {
            "description": "The value of an HTTP request header to use for health checks.",
            "example": "text/plain",
            "maxLength": 1000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E]+$",
            "type": "string"
          }
        },
        "required": [
          "field",
          "value"
        ],
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeaderPrototype"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPatch": {
        "description": "Supported by load balancers with `advanced_health_checks_supported` set to `true`.",
        "properties": {
          "body": {
            "description": "The HTTP request body to use for health checks. If set, a corresponding `Content-Type`\nfield must be included in the `request.headers` array.\n\nSpecify `null` to remove the request body used for health checks.\n\nThe body must be formatted in a way that will be understood by the backend server member.",
            "example": "ACTIVE",
            "maxLength": 4000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E\\r\\n]+$",
            "type": "string"
          },
          "headers": {
            "description": "The HTTP request headers to use for health checks.\n\nSpecify an empty array to remove the request headers for health checks.\n\nInclude a `Host` field and its value to enable the `HTTP/1.1` protocol for health checks.\nIf a `Host` header is not included, `HTTP/1.0` will be used by default. More than one\n`Host` header is not allowed.\n\nInclude a `Content-Type` field and its value to indicate the media type of the\n`request.body` (if set).\n\nA header must not exceed 1000 characters, and all headers combined must not exceed 4000\ncharacters.",
            "items": {
              "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeaderPrototype"
            },
            "type": "array",
            "uniqueItems": true
          },
          "method": {
            "description": "The HTTP request method to use for health checks. If updating to `get`, the\n`health_monitor.request.body` property (if set) must be removed.",
            "enum": [
              "get",
              "post"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPatch"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPostPrototype": {
        "properties": {
          "body": {
            "description": "The HTTP request body to use for health checks. If unspecified, health check requests\nwill not have a request body.\n\nThe body must be formatted in a way that is understood by the backend member. If\nspecified, the `request.headers` array must include a corresponding `Content-Type`\nheader.",
            "example": "ACTIVE",
            "maxLength": 4000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E\\r\\n]+$",
            "type": "string"
          },
          "headers": {
            "default": [],
            "description": "The HTTP request headers to use for health checks. If empty, health check requests will\nnot have headers.\n\nInclude a `Host` field and its value to enable the `HTTP/1.1` protocol for health checks.\nIf a `Host` header is not included, `HTTP/1.0` will be used by default. More than one\n`Host` header is not allowed.\n\nInclude a `Content-Type` field and its value to indicate the media type of the\n`request.body` (if set).\n\nA header must not exceed 1000 characters, and all headers combined must not exceed 4000\ncharacters.",
            "items": {
              "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestHeaderPrototype"
            },
            "type": "array",
            "uniqueItems": true
          },
          "method": {
            "description": "The HTTP request method to use for health checks.",
            "enum": [
              "post"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPostPrototype"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPrototype": {
        "description": "The HTTP request to use for health checks. If unspecified, a `request.method` value of\n`get` will be used with no `request.headers`.\n\nSupported by load balancers with `advanced_health_checks_supported` set to `true`.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestGetPrototype"
          },
          {
            "$ref": "#/components/schemas/LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPostPrototype"
          }
        ],
        "type": "object",
        "x-unevaluatedProperties": false,
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSRequestPrototype"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponse": {
        "properties": {
          "body_regex": {
            "description": "The PCRE-flavor regular expression that HTTP response bodies must match\nfor successful health checks.\n\nIf absent, health checks will ignore any response body.",
            "example": "ACTIVE",
            "maxLength": 4000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E\\r\\n]+$",
            "type": "string"
          },
          "codes": {
            "description": "The HTTP response codes expected for successful health checks.",
            "items": {
              "$ref": "#/components/schemas/HTTPResponseCodeOrClass"
            },
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "codes"
        ],
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponse"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponsePatch": {
        "description": "Supported by load balancers with `advanced_health_checks_supported` set to `true`.",
        "properties": {
          "body_regex": {
            "description": "The PCRE-flavor regular expression that HTTP response bodies will be expected\nto match for successful health checks.\n\nSpecify `null` to remove the response body for successful health checks. If removed,\nhealth checks will ignore any response body.",
            "example": "ACTIVE",
            "maxLength": 4000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E\\r\\n]+$",
            "type": "string"
          },
          "codes": {
            "description": "The HTTP response codes to expect for successful health checks.",
            "items": {
              "$ref": "#/components/schemas/HTTPResponseCodeOrClass"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponsePatch"
      },
      "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponsePrototype": {
        "description": "The HTTP response to use for health checks. If unspecified, a `response.codes` value of\n`[\"200\"]` will be used with no `response.body_regex`.\n\nSupported by load balancers with `advanced_health_checks_supported` set to `true`.",
        "properties": {
          "body_regex": {
            "description": "The PCRE-flavor regular expression that HTTP response bodies will be expected\nto match for successful health checks.\n\nIf unspecified, health checks will ignore any response body.",
            "example": "ACTIVE",
            "maxLength": 4000,
            "minLength": 1,
            "pattern": "^[\\t\\x20-\\x7E\\r\\n]+$",
            "type": "string"
          },
          "codes": {
            "default": [
              "200"
            ],
            "description": "The HTTP response codes to expect for successful health checks.",
            "items": {
              "$ref": "#/components/schemas/HTTPResponseCodeOrClass"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolHealthMonitorTypeHTTPHTTPSResponsePrototype"
      },
      "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": "^https:\\/\\/([^\\/?#]*)([^?#]*)/load_balancers/[-0-9a-z_]+/pools/[-0-9a-z_]+$",
            "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that this member was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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.",
        "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/ReservedIPReference"
              },
              {
                "description": "The reserved IP targeted by the pool member. Supported by load balancer profiles\nwith `subnet_reserved_ip` included in `targetable_resource_types`."
              }
            ]
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/IPNotReservedIP"
              },
              {
                "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`."
              }
            ]
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/FQDN"
              }
            ],
            "description": "The fully qualified domain name (FQDN) targeted by the pool member. Supported by load\nbalancers with `fqdn_pool_members_supported` set to `true`."
          }
        ],
        "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/ReservedIPIdentity"
              },
              {
                "description": "The reserved IP to target.\n\nThe load balancer profile must include `subnet_reserved_ip` in its\n`targetable_resource_types`.\n\nThe reserved IP must either be unbound, or bound to:\n- An instance network interface.\n- A bare metal server network interface.\n- A virtual network interface, as the `primary_ip`. The virtual network interface must\n  not be attached to a share mount target."
              }
            ]
          },
          {
            "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."
              }
            ]
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/FQDN"
              }
            ],
            "description": "The fully qualified domain name (FQDN) to target. The load balancer must have\n`fqdn_pool_members_supported` set to `true`.\n\nMember health checks will fail if the FQDN cannot be resolved."
          }
        ],
        "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"
      },
      "LoadBalancerPoolMemberTargetableResourceTypes": {
        "description": "The [resource\ntypes](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vs-elb&interface=ui#lb-comparison-chart)\nthat can be targeted by the load balancer pool member:\n- 'instance': Traffic is forwarded to the primary IP address for the instance's\n  'primary_network_interface' or 'primary_network_attachment'.\n- 'subnet_reserved_ip': Traffic is forwarded to the reserved IP address.\n- `load_balancer`: Traffic is forwarded to the load balancer.\n- `ip`: Traffic is forwarded to the IP address.",
        "enum": [
          "instance",
          "ip",
          "load_balancer",
          "subnet_reserved_ip"
        ],
        "example": "instance",
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "LoadBalancerPoolMemberTargetableResourceTypes"
      },
      "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"
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolClientAuthenticationPatch"
          },
          "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"
          },
          "server_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolServerAuthenticationPatch"
          },
          "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"
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolClientAuthenticationPrototype"
          },
          "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`.\n\n**NOTE**: HTTP sends data in plain text, making it vulnerable to eavesdropping and\ntampering. Additionally, HTTP has no built-in mechanism to verify the identity of the\nserver you are connecting to. It is recommended to choose `https` instead of `http`.\nFor more details, see: https://www.cloudflare.com/learning/ssl/why-is-http-not-secure",
            "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"
          },
          "server_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolServerAuthenticationPrototype"
          },
          "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"
          },
          "client_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolClientAuthenticationPrototype"
          },
          "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`.\n\n**NOTE**: HTTP sends data in plain text, making it vulnerable to eavesdropping and\ntampering. Additionally, HTTP has no built-in mechanism to verify the identity of the\nserver you are connecting to. It is recommended to choose `https` instead of `http`.\nFor more details, see: https://www.cloudflare.com/learning/ssl/why-is-http-not-secure",
            "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"
          },
          "server_authentication": {
            "$ref": "#/components/schemas/LoadBalancerPoolServerAuthenticationPrototype"
          },
          "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": {
        "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": "^https:\\/\\/([^\\/?#]*)([^?#]*)/load_balancers/[-0-9a-z_]+/pools/[-0-9a-z_]+$",
            "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"
      },
      "LoadBalancerPoolServerAuthentication": {
        "description": "The server authentication used for this pool.\n\nThis property will be absent if the `pool.protocol` is not `https`.",
        "properties": {
          "certificate_authority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateInstanceReference"
              }
            ],
            "description": "The backend server certificate authority instance used for server\ncertificate verification."
          },
          "verify_certificate": {
            "description": "If set to `true`, the backend server certificate is verified.",
            "example": false,
            "type": "boolean"
          }
        },
        "required": [
          "verify_certificate"
        ],
        "type": "object",
        "title": "LoadBalancerPoolServerAuthentication"
      },
      "LoadBalancerPoolServerAuthenticationPatch": {
        "description": "The server authentication to use for this pool.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool must\nhave a `protocol` of `https`.\n\nSpecify `null` to remove an existing server authentication.",
        "nullable": true,
        "properties": {
          "certificate_authority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateInstanceIdentity"
              }
            ],
            "description": "The backend server certificate authority instance to use for server\ncertificate verification.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool must\nhave a `protocol` of `https`.\n\nIf specified, `verify_certificate` must be `true`."
          },
          "verify_certificate": {
            "description": "Indicates whether server certificate verification is enabled.\n\nIf set to `true`, the backend server certificate is verified by:\n- `certificate_authority`, if specified.\n- the system default certificate authorities, if `certificate_authority`\n  is not specified.",
            "example": false,
            "type": "boolean"
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolServerAuthenticationPatch"
      },
      "LoadBalancerPoolServerAuthenticationPrototype": {
        "description": "The server authentication to use for this pool.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool must\nhave a `protocol` of `https`.",
        "properties": {
          "certificate_authority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateInstanceIdentity"
              }
            ],
            "description": "The backend server certificate authority instance to use for server\ncertificate verification.\n\nSupported by load balancers with `mtls_supported` set to `true`. The pool must\nhave a `protocol` of `https`.\n\nIf specified, `verify_certificate` must be `true`."
          },
          "verify_certificate": {
            "default": false,
            "description": "Indicates whether server certificate verification is enabled.\n\nIf set to `true`, the backend server certificate is verified by:\n- `certificate_authority`, if specified.\n- the system default certificate authorities, if `certificate_authority`\n  is not specified.",
            "example": false,
            "type": "boolean"
          }
        },
        "type": "object",
        "title": "LoadBalancerPoolServerAuthenticationPrototype"
      },
      "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": {
        "properties": {
          "access_modes": {
            "$ref": "#/components/schemas/LoadBalancerProfileAccessModes"
          },
          "advanced_health_checks_supported": {
            "$ref": "#/components/schemas/LoadBalancerProfileAdvancedHealthCheckSupported"
          },
          "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"
          },
          "fqdn_pool_members_supported": {
            "$ref": "#/components/schemas/LoadBalancerProfileFQDNSupported"
          },
          "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"
          },
          "mtls_supported": {
            "$ref": "#/components/schemas/LoadBalancerProfileMtlsSupported"
          },
          "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
          },
          "targetable_resource_types": {
            "$ref": "#/components/schemas/LoadBalancerProfileTargetableResourceTypes"
          },
          "udp_supported": {
            "$ref": "#/components/schemas/LoadBalancerProfileUDPSupported"
          }
        },
        "required": [
          "access_modes",
          "advanced_health_checks_supported",
          "availability",
          "failsafe_policy_actions",
          "family",
          "fqdn_pool_members_supported",
          "href",
          "instance_groups_supported",
          "logging_supported",
          "mtls_supported",
          "name",
          "route_mode_supported",
          "security_groups_supported",
          "source_ip_session_persistence_supported",
          "targetable_load_balancer_profiles",
          "targetable_resource_types",
          "udp_supported"
        ],
        "type": "object",
        "title": "LoadBalancerProfile"
      },
      "LoadBalancerProfileAccessModes": {
        "example": {
          "type": "enum",
          "values": [
            "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"
      },
      "LoadBalancerProfileAdvancedHealthCheckSupported": {
        "example": {
          "type": "fixed",
          "value": true
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoadBalancerProfileAdvancedHealthCheckSupportedFixed"
          },
          {
            "$ref": "#/components/schemas/LoadBalancerProfileAdvancedHealthCheckSupportedDependent"
          }
        ],
        "type": "object",
        "title": "LoadBalancerProfileAdvancedHealthCheckSupported"
      },
      "LoadBalancerProfileAdvancedHealthCheckSupportedDependent": {
        "description": "The advanced health check support for a load balancer 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": "LoadBalancerProfileAdvancedHealthCheckSupportedDependent"
      },
      "LoadBalancerProfileAdvancedHealthCheckSupportedFixed": {
        "description": "The advanced health check 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": "LoadBalancerProfileAdvancedHealthCheckSupportedFixed"
      },
      "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"
      },
      "LoadBalancerProfileFQDNSupported": {
        "example": {
          "type": "fixed",
          "value": true
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoadBalancerProfileFQDNSupportedFixed"
          },
          {
            "$ref": "#/components/schemas/LoadBalancerProfileFQDNSupportedDependent"
          }
        ],
        "type": "object",
        "title": "LoadBalancerProfileFQDNSupported"
      },
      "LoadBalancerProfileFQDNSupportedDependent": {
        "description": "The FQDN 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": "LoadBalancerProfileFQDNSupportedDependent"
      },
      "LoadBalancerProfileFQDNSupportedFixed": {
        "description": "The FQDN 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": "LoadBalancerProfileFQDNSupportedFixed"
      },
      "LoadBalancerProfileFailsafePolicyActions": {
        "example": {
          "default": "fail",
          "type": "enum",
          "values": [
            "forward",
            "fail"
          ]
        },
        "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"
      },
      "LoadBalancerProfileMtlsSupported": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoadBalancerProfileMtlsSupportedFixed"
          },
          {
            "$ref": "#/components/schemas/LoadBalancerProfileMtlsSupportedDependent"
          }
        ],
        "type": "object",
        "title": "LoadBalancerProfileMtlsSupported"
      },
      "LoadBalancerProfileMtlsSupportedDependent": {
        "description": "The mTLS 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": "LoadBalancerProfileMtlsSupportedDependent"
      },
      "LoadBalancerProfileMtlsSupportedFixed": {
        "description": "The mTLS 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": "LoadBalancerProfileMtlsSupportedFixed"
      },
      "LoadBalancerProfileReference": {
        "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"
      },
      "LoadBalancerProfileTargetableResourceTypes": {
        "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 resource types that pool members of load balancers with this profile can target.",
            "items": {
              "$ref": "#/components/schemas/LoadBalancerPoolMemberTargetableResourceTypes"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "type",
          "values"
        ],
        "type": "object",
        "title": "LoadBalancerProfileTargetableResourceTypes"
      },
      "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.",
            "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": {
        "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the network ACL was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
            "ah": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "any": "#/components/schemas/NetworkACLRuleProtocolAny",
            "esp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "gre": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "icmp": "#/components/schemas/NetworkACLRuleProtocolICMP",
            "icmp_tcp_udp": "#/components/schemas/NetworkACLRuleProtocolICMPTCPUDP",
            "ip_in_ip": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "l2tp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_0": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_10": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_100": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_101": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_102": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_103": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_104": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_105": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_106": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_107": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_108": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_109": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_11": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_110": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_111": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_113": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_114": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_116": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_117": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_118": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_119": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_12": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_120": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_121": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_122": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_123": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_124": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_125": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_126": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_127": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_128": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_129": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_13": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_130": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_131": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_133": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_134": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_135": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_136": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_137": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_138": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_139": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_14": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_140": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_141": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_142": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_143": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_144": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_145": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_146": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_147": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_148": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_149": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_15": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_150": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_151": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_152": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_153": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_154": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_155": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_156": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_157": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_158": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_159": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_16": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_160": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_161": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_162": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_163": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_164": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_165": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_166": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_167": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_168": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_169": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_170": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_171": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_172": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_173": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_174": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_175": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_176": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_177": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_178": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_179": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_18": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_180": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_181": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_182": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_183": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_184": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_185": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_186": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_187": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_188": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_189": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_19": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_190": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_191": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_192": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_193": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_194": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_195": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_196": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_197": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_198": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_199": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_2": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_20": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_200": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_201": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_202": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_203": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_204": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_205": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_206": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_207": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_208": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_209": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_21": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_210": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_211": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_212": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_213": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_214": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_215": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_216": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_217": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_218": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_219": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_22": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_220": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_221": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_222": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_223": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_224": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_225": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_226": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_227": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_228": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_229": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_23": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_230": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_231": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_232": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_233": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_234": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_235": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_236": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_237": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_238": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_239": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_24": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_240": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_241": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_242": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_243": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_244": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_245": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_246": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_247": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_248": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_249": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_25": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_250": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_251": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_252": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_253": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_254": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_255": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_26": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_27": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_28": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_29": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_3": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_30": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_31": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_32": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_33": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_34": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_35": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_36": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_37": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_38": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_39": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_40": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_41": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_42": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_43": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_44": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_45": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_48": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_49": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_5": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_52": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_53": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_54": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_55": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_56": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_57": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_58": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_59": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_60": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_61": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_62": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_63": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_64": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_65": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_66": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_67": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_68": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_69": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_7": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_70": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_71": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_72": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_73": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_74": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_75": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_76": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_77": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_78": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_79": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_8": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_80": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_81": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_82": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_83": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_84": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_85": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_86": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_87": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_88": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_89": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_9": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_90": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_91": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_92": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_93": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_94": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_95": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_96": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_97": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_98": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_99": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "rsvp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "sctp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "tcp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP",
            "udp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP",
            "vrrp": "#/components/schemas/NetworkACLRuleProtocolIndividual"
          },
          "propertyName": "protocol"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolAny"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPTCPUDP"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMP"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDP"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolIndividual"
          }
        ],
        "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."
          },
          "created_at": {
            "description": "The date and time that the rule was created.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
            "$ref": "#/components/schemas/NetworkACLRuleDestination"
          },
          "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.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support `ipv6`\nin the future.",
            "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 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": [
              "ah",
              "any",
              "esp",
              "gre",
              "icmp",
              "icmp_tcp_udp",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "vrrp"
            ],
            "example": "tcp",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/NetworkACLRuleSource"
          }
        },
        "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.",
        "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",
        "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": {
        "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"
      },
      "NetworkACLRuleDestination": {
        "description": "The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all\ndestination addresses.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 addresses or CIDR blocks in the future.",
        "example": "192.168.3.0/24",
        "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",
        "title": "NetworkACLRuleDestination"
      },
      "NetworkACLRuleDestinationPrototype": {
        "description": "The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` will match\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",
        "title": "NetworkACLRuleDestinationPrototype"
      },
      "NetworkACLRuleDirection": {
        "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",
        "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": {
            "ah": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "any": "#/components/schemas/NetworkACLRuleProtocolAny",
            "esp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "gre": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "icmp": "#/components/schemas/NetworkACLRuleProtocolICMP",
            "icmp_tcp_udp": "#/components/schemas/NetworkACLRuleProtocolICMPTCPUDP",
            "ip_in_ip": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "l2tp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_0": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_10": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_100": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_101": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_102": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_103": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_104": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_105": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_106": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_107": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_108": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_109": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_11": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_110": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_111": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_113": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_114": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_116": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_117": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_118": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_119": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_12": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_120": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_121": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_122": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_123": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_124": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_125": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_126": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_127": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_128": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_129": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_13": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_130": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_131": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_133": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_134": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_135": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_136": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_137": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_138": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_139": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_14": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_140": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_141": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_142": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_143": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_144": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_145": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_146": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_147": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_148": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_149": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_15": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_150": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_151": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_152": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_153": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_154": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_155": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_156": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_157": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_158": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_159": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_16": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_160": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_161": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_162": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_163": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_164": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_165": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_166": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_167": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_168": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_169": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_170": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_171": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_172": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_173": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_174": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_175": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_176": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_177": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_178": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_179": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_18": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_180": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_181": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_182": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_183": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_184": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_185": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_186": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_187": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_188": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_189": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_19": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_190": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_191": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_192": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_193": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_194": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_195": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_196": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_197": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_198": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_199": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_2": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_20": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_200": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_201": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_202": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_203": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_204": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_205": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_206": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_207": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_208": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_209": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_21": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_210": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_211": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_212": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_213": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_214": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_215": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_216": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_217": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_218": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_219": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_22": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_220": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_221": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_222": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_223": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_224": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_225": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_226": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_227": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_228": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_229": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_23": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_230": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_231": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_232": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_233": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_234": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_235": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_236": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_237": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_238": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_239": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_24": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_240": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_241": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_242": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_243": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_244": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_245": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_246": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_247": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_248": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_249": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_25": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_250": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_251": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_252": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_253": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_254": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_255": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_26": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_27": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_28": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_29": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_3": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_30": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_31": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_32": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_33": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_34": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_35": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_36": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_37": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_38": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_39": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_40": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_41": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_42": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_43": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_44": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_45": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_48": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_49": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_5": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_52": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_53": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_54": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_55": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_56": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_57": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_58": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_59": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_60": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_61": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_62": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_63": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_64": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_65": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_66": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_67": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_68": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_69": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_7": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_70": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_71": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_72": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_73": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_74": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_75": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_76": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_77": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_78": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_79": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_8": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_80": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_81": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_82": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_83": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_84": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_85": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_86": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_87": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_88": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_89": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_9": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_90": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_91": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_92": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_93": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_94": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_95": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_96": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_97": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_98": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "number_99": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "rsvp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "sctp": "#/components/schemas/NetworkACLRuleProtocolIndividual",
            "tcp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP",
            "udp": "#/components/schemas/NetworkACLRuleProtocolTCPUDP",
            "vrrp": "#/components/schemas/NetworkACLRuleProtocolIndividual"
          },
          "propertyName": "protocol"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolAny"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPTCPUDP"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMP"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDP"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolIndividual"
          }
        ],
        "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."
          },
          "created_at": {
            "description": "The date and time that the rule was created.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
            "$ref": "#/components/schemas/NetworkACLRuleDestination"
          },
          "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.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support `ipv6`\nin the future.",
            "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 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": [
              "ah",
              "any",
              "esp",
              "gre",
              "icmp",
              "icmp_tcp_udp",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "vrrp"
            ],
            "example": "tcp",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/NetworkACLRuleSource"
          }
        },
        "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.\n\nMust not be `deny` if `protocol` is `icmp_tcp_udp`.",
            "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": {
            "$ref": "#/components/schemas/NetworkACLRuleDestinationPrototype"
          },
          "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": {
            "$ref": "#/components/schemas/NetworkACLRuleSourcePrototype"
          },
          "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"
      },
      "NetworkACLRuleProtocolAny": {
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "any"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "NetworkACLRuleProtocolAny"
      },
      "NetworkACLRuleProtocolAnyPrototype": {
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "any"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "NetworkACLRuleProtocolAnyPrototype"
      },
      "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"
      },
      "NetworkACLRuleProtocolICMPTCPUDP": {
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "icmp_tcp_udp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "NetworkACLRuleProtocolICMPTCPUDP"
      },
      "NetworkACLRuleProtocolICMPTCPUDPPrototype": {
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "icmp_tcp_udp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "NetworkACLRuleProtocolICMPTCPUDPPrototype"
      },
      "NetworkACLRuleProtocolIndividual": {
        "properties": {
          "protocol": {
            "description": "The network protocol.\n\nThe value must be the name of an individual protocol, excluding `icmp`, `tcp` and\n`udp`. Names for well known protocols are:\n- `ah`: AH (authentication header, protocol number `51`)\n- `esp`: ESP (encapsulating security payload, protocol number `50`)\n- `gre`: GRE (generic routing encapsulation, protocol number `47`)\n- `ip_in_ip`: IP encapsulation within IP (protocol number `4`)\n- `l2tp`: L2TP (layer two tunneling protocol, protocol number `115`)\n- `rsvp`: RSVP (reservation protocol, protocol number `46`)\n- `sctp`: SCTP (stream control transmission protocol, protocol number `132`)\n- `vrrp`: VRRP (virtual router redundancy protocol, protocol number `112`)\n\nFor other protocols, specify a value of `number_`*N*, where *N* is the\nnetwork protocol number in decimal.",
            "enum": [
              "ah",
              "esp",
              "gre",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "vrrp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "NetworkACLRuleProtocolIndividual"
      },
      "NetworkACLRuleProtocolIndividualPrototype": {
        "properties": {
          "protocol": {
            "description": "The network protocol.\n\nThe value must be the name of an individual protocol, excluding `icmp`, `tcp` and\n`udp`. Names for well known protocols are:\n- `ah`: AH (authentication header, protocol number `51`)\n- `esp`: ESP (encapsulating security payload, protocol number `50`)\n- `gre`: GRE (generic routing encapsulation, protocol number `47`)\n- `ip_in_ip`: IP encapsulation within IP (protocol number `4`)\n- `l2tp`: L2TP (layer two tunneling protocol, protocol number `115`)\n- `rsvp`: RSVP (reservation protocol, protocol number `46`)\n- `sctp`: SCTP (stream control transmission protocol, protocol number `132`)\n- `vrrp`: VRRP (virtual router redundancy protocol, protocol number `112`)\n\nFor other protocols, specify a value of `number_`*N*, where *N* is the\nnetwork protocol number in decimal.",
            "enum": [
              "ah",
              "esp",
              "gre",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "vrrp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "NetworkACLRuleProtocolIndividualPrototype"
      },
      "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": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolAnyPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPTCPUDPPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDPPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolIndividualPrototype"
          }
        ],
        "properties": {
          "action": {
            "description": "The action to perform for a packet matching the rule.\n\nMust not be `deny` if `protocol` is `icmp_tcp_udp`.",
            "enum": [
              "allow",
              "deny"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "before": {
            "$ref": "#/components/schemas/NetworkACLRuleBeforePrototype"
          },
          "destination": {
            "$ref": "#/components/schemas/NetworkACLRuleDestinationPrototype"
          },
          "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 to match. The format of `source` and `destination` must match this\nproperty.",
            "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 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": [
              "ah",
              "any",
              "esp",
              "gre",
              "icmp",
              "icmp_tcp_udp",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "vrrp"
            ],
            "example": "tcp",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/NetworkACLRuleSourcePrototype"
          }
        },
        "required": [
          "action",
          "destination",
          "direction",
          "protocol",
          "source"
        ],
        "type": "object",
        "title": "NetworkACLRulePrototype"
      },
      "NetworkACLRulePrototypeNetworkACLContext": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolAnyPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPTCPUDPPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolICMPPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolTCPUDPPrototype"
          },
          {
            "$ref": "#/components/schemas/NetworkACLRuleProtocolIndividualPrototype"
          }
        ],
        "properties": {
          "action": {
            "description": "The action to perform for a packet matching the rule.\n\nMust not be `deny` if `protocol` is `icmp_tcp_udp`.",
            "enum": [
              "allow",
              "deny"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "destination": {
            "$ref": "#/components/schemas/NetworkACLRuleDestinationPrototype"
          },
          "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 to match. The format of `source` and `destination` must match this\nproperty.",
            "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 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": [
              "ah",
              "any",
              "esp",
              "gre",
              "icmp",
              "icmp_tcp_udp",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "vrrp"
            ],
            "example": "tcp",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/NetworkACLRuleSourcePrototype"
          }
        },
        "required": [
          "action",
          "destination",
          "direction",
          "protocol",
          "source"
        ],
        "type": "object",
        "title": "NetworkACLRulePrototypeNetworkACLContext"
      },
      "NetworkACLRuleReference": {
        "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"
      },
      "NetworkACLRuleSource": {
        "description": "The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all\nsource addresses.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 CIDR blocks in the future.",
        "example": "192.168.3.0/24",
        "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",
        "title": "NetworkACLRuleSource"
      },
      "NetworkACLRuleSourcePrototype": {
        "description": "The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` will match 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",
        "title": "NetworkACLRuleSourcePrototype"
      },
      "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": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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\nIP.\n\nIf an existing reserved IP or a prototype object with an address is specified, it\nmust be available on the instance network interface's subnet. Otherwise, an\navailable address on the subnet will be automatically selected and reserved."
          },
          "security_groups": {
            "description": "The security groups to use for this instance network interface. If unspecified,\nthe VPC's default security group is used.",
            "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": {
        "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": {
        "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": {
        "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": {
        "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": {
        "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the placement group was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the private path service gateway was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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-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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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`.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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",
          "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": "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.",
            "example": {
              "id": "bb1b52262f7441a586f49068482f1e60",
              "resource_type": "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": {
        "properties": {
          "cidr": {
            "$ref": "#/components/schemas/PublicAddressRangeCIDR"
          },
          "created_at": {
            "description": "The date and time that the public address range was created.",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
      },
      "PublicAddressRangeCIDR": {
        "description": "The public IP address block for this public address range, expressed in CIDR format.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 address blocks in the future.",
        "oneOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/CIDRv4"
              }
            ],
            "description": "The public IPv4 address block for this public address range, expressed in CIDR format.",
            "example": "192.168.3.0/24"
          }
        ],
        "type": "string",
        "title": "PublicAddressRangeCIDR"
      },
      "PublicAddressRangeCollection": {
        "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. Names starting with `ibm-` are reserved for provider-managed\nresources, and are not allowed.",
            "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. Names starting with `ibm-` are reserved for provider-managed\nresources, and are not allowed. 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": {
        "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that the public gateway was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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": {
        "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": {
        "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": {
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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`.",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "one_year",
            "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`.",
            "example": "one_year",
            "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.",
            "example": "one_year",
            "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": {
          "affinity_policy": "automatic",
          "capacity": {
            "total": 10
          },
          "committed_use": {
            "expiration_policy": "release",
            "term": "one_year"
          },
          "name": "my-reservation",
          "profile": {
            "name": "bx2-4x16",
            "resource_type": "bare_metal_server_profile"
          }
        },
        "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": {
          "affinity_policy": "automatic",
          "capacity": {
            "total": 10
          },
          "committed_use": {
            "expiration_policy": "release",
            "term": "one_year"
          },
          "name": "my-reservation",
          "profile": {
            "name": "bx2-4x16",
            "resource_type": "bare_metal_server_profile"
          },
          "resource_group": {
            "id": "fee82deba12e4c0fb69c3b09d1f12345"
          },
          "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": {
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": "ByReservedIp",
        "title": "ReservedIP"
      },
      "ReservedIPCollection": {
        "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": {
        "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": {
        "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": {
        "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": {
        "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": {
        "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": "ByReservedIp",
        "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.",
        "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": {
        "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": {
        "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"
            ],
            "example": "deliver",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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"
            ],
            "example": "deliver",
            "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": {
        "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"
      },
      "RoutingProtocolState": {
        "description": "BGP routing protocol state as defined in\n[RFC 4721](https://www.rfc-editor.org/rfc/rfc4271#section-8.2.2).",
        "enum": [
          "active",
          "connect",
          "established",
          "idle",
          "open_confirm",
          "open_sent"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "RoutingProtocolState"
      },
      "RoutingTable": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/RoutingTableIdentityById"
          },
          {
            "$ref": "#/components/schemas/RoutingTableIdentityByCRN"
          },
          {
            "$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",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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-1",
          "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": {
        "properties": {
          "created_at": {
            "description": "The date and time that this security group was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
            "ah": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "any": "#/components/schemas/SecurityGroupRuleProtocolAny",
            "esp": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "gre": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "icmp": "#/components/schemas/SecurityGroupRuleProtocolICMP",
            "icmp_tcp_udp": "#/components/schemas/SecurityGroupRuleProtocolICMPTCPUDP",
            "ip_in_ip": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "l2tp": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_0": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_10": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_100": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_101": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_102": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_103": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_104": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_105": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_106": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_107": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_108": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_109": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_11": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_110": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_111": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_113": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_114": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_116": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_117": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_118": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_119": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_12": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_120": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_121": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_122": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_123": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_124": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_125": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_126": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_127": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_128": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_129": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_13": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_130": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_131": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_133": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_134": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_135": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_136": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_137": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_138": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_139": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_14": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_140": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_141": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_142": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_143": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_144": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_145": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_146": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_147": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_148": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_149": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_15": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_150": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_151": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_152": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_153": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_154": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_155": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_156": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_157": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_158": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_159": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_16": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_160": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_161": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_162": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_163": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_164": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_165": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_166": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_167": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_168": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_169": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_170": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_171": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_172": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_173": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_174": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_175": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_176": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_177": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_178": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_179": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_18": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_180": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_181": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_182": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_183": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_184": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_185": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_186": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_187": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_188": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_189": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_19": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_190": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_191": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_192": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_193": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_194": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_195": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_196": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_197": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_198": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_199": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_2": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_20": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_200": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_201": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_202": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_203": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_204": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_205": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_206": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_207": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_208": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_209": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_21": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_210": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_211": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_212": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_213": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_214": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_215": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_216": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_217": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_218": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_219": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_22": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_220": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_221": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_222": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_223": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_224": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_225": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_226": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_227": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_228": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_229": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_23": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_230": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_231": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_232": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_233": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_234": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_235": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_236": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_237": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_238": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_239": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_24": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_240": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_241": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_242": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_243": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_244": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_245": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_246": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_247": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_248": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_249": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_25": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_250": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_251": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_252": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_253": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_254": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_255": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_26": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_27": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_28": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_29": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_3": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_30": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_31": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_32": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_33": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_34": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_35": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_36": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_37": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_38": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_39": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_40": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_41": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_42": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_43": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_44": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_45": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_48": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_49": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_5": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_52": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_53": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_54": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_55": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_56": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_57": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_58": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_59": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_60": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_61": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_62": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_63": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_64": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_65": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_66": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_67": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_68": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_69": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_7": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_70": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_71": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_72": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_73": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_74": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_75": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_76": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_77": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_78": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_79": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_8": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_80": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_81": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_82": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_83": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_84": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_85": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_86": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_87": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_88": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_89": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_9": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_90": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_91": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_92": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_93": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_94": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_95": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_96": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_97": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_98": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "number_99": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "rsvp": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "sctp": "#/components/schemas/SecurityGroupRuleProtocolIndividual",
            "tcp": "#/components/schemas/SecurityGroupRuleProtocolTCPUDP",
            "udp": "#/components/schemas/SecurityGroupRuleProtocolTCPUDP",
            "vrrp": "#/components/schemas/SecurityGroupRuleProtocolIndividual"
          },
          "propertyName": "protocol"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolAny"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolICMPTCPUDP"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolICMP"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolTCPUDP"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolIndividual"
          }
        ],
        "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.\n\nIf `remote` references a security group, then this rule only applies to IP addresses\nin that group matching this IP version.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support `ipv6`\nin the future.",
            "enum": [
              "ipv4"
            ],
            "example": "ipv4",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "local": {
            "$ref": "#/components/schemas/SecurityGroupRuleLocal"
          },
          "name": {
            "description": "The name for this security group rule. The name is unique across all rules in the\nsecurity group.",
            "example": "my-security-group-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"
          },
          "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": [
              "ah",
              "any",
              "esp",
              "gre",
              "icmp",
              "icmp_tcp_udp",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "vrrp"
            ],
            "example": "tcp",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "remote": {
            "$ref": "#/components/schemas/SecurityGroupRuleRemote"
          },
          "resource_type": {
            "description": "The resource type",
            "enum": [
              "security_group_rule"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "direction",
          "href",
          "id",
          "ip_version",
          "local",
          "name",
          "protocol",
          "remote",
          "resource_type"
        ],
        "type": "object",
        "title": "SecurityGroupRule"
      },
      "SecurityGroupRuleCIDR": {
        "properties": {
          "cidr_block": {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDRBlock"
          }
        },
        "required": [
          "cidr_block"
        ],
        "type": "object",
        "title": "SecurityGroupRuleCIDR"
      },
      "SecurityGroupRuleCIDRBlock": {
        "description": "The CIDR block.\n\nThis property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion)\nto support IPv6 CIDR blocks in the future.",
        "oneOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/CIDRv4"
              }
            ],
            "description": "The IPv4 CIDR block."
          }
        ],
        "type": "string",
        "title": "SecurityGroupRuleCIDRBlock"
      },
      "SecurityGroupRuleCIDRBlockPrototype": {
        "description": "The CIDR block.",
        "oneOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/CIDRv4"
              }
            ],
            "description": "The IPv4 CIDR block."
          }
        ],
        "type": "string",
        "title": "SecurityGroupRuleCIDRBlockPrototype"
      },
      "SecurityGroupRuleCIDRPrototype": {
        "properties": {
          "cidr_block": {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDRBlockPrototype"
          }
        },
        "required": [
          "cidr_block"
        ],
        "type": "object",
        "title": "SecurityGroupRuleCIDRPrototype"
      },
      "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": {
        "properties": {
          "rules": {
            "description": "The rules for the security group",
            "items": {
              "$ref": "#/components/schemas/SecurityGroupRule"
            },
            "type": "array"
          }
        },
        "required": [
          "rules"
        ],
        "type": "object",
        "title": "SecurityGroupRuleCollection"
      },
      "SecurityGroupRuleIP": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/SecurityGroupRuleIPAddress"
          }
        },
        "required": [
          "address"
        ],
        "type": "object",
        "title": "SecurityGroupRuleIP"
      },
      "SecurityGroupRuleIPAddress": {
        "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.",
        "oneOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/IPv4"
              }
            ],
            "description": "The IPv4 address."
          }
        ],
        "type": "string",
        "title": "SecurityGroupRuleIPAddress"
      },
      "SecurityGroupRuleIPAddressPrototype": {
        "description": "The IP address.",
        "oneOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/IPv4"
              }
            ],
            "description": "The IPv4 address."
          }
        ],
        "type": "string",
        "title": "SecurityGroupRuleIPAddressPrototype"
      },
      "SecurityGroupRuleIPPrototype": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/SecurityGroupRuleIPAddressPrototype"
          }
        },
        "required": [
          "address"
        ],
        "type": "object",
        "title": "SecurityGroupRuleIPPrototype"
      },
      "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/SecurityGroupRuleIP"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDR"
          }
        ],
        "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/SecurityGroupRuleIPPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDRPrototype"
          }
        ],
        "type": "object",
        "x-unevaluatedProperties": false,
        "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/SecurityGroupRuleIPPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDRPrototype"
          }
        ],
        "type": "object",
        "x-unevaluatedProperties": false,
        "title": "SecurityGroupRuleLocalPrototype"
      },
      "SecurityGroupRulePatch": {
        "example": {
          "code": 1,
          "direction": "inbound",
          "ip_version": "ipv4",
          "local": {
            "address": "192.168.3.4"
          },
          "name": "my-security-group-rule",
          "port_max": 22,
          "port_min": 22,
          "remote": {
            "address": "192.168.3.4"
          },
          "type": 8
        },
        "properties": {
          "code": {
            "$ref": "#/components/schemas/SecurityGroupRuleCodePatch"
          },
          "direction": {
            "description": "The direction of traffic to allow.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "example": "outbound",
            "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 will only apply 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"
          },
          "name": {
            "description": "The name for this security group rule. The name must not be used by another\nrule in the security group.",
            "example": "my-security-group-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"
          },
          "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"
      },
      "SecurityGroupRuleProtocolAny": {
        "description": "A rule allowing traffic for any protocol.",
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "any"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "SecurityGroupRuleProtocolAny"
      },
      "SecurityGroupRuleProtocolAnyPrototype": {
        "description": "A rule allowing traffic for any protocol.",
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "any"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "SecurityGroupRuleProtocolAnyPrototype"
      },
      "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"
      },
      "SecurityGroupRuleProtocolICMPTCPUDP": {
        "description": "A rule allowing ICMP, TCP and UDP traffic.",
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "icmp_tcp_udp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "SecurityGroupRuleProtocolICMPTCPUDP"
      },
      "SecurityGroupRuleProtocolICMPTCPUDPPrototype": {
        "description": "A rule allowing ICMP, TCP and UDP traffic.",
        "properties": {
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "icmp_tcp_udp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "SecurityGroupRuleProtocolICMPTCPUDPPrototype"
      },
      "SecurityGroupRuleProtocolIndividual": {
        "description": "A rule allowing traffic for one protocol (other than ICMP, TCP or UDP).",
        "properties": {
          "protocol": {
            "description": "The network protocol to allow.\n\nThe value must be the name of an individual protocol, excluding `icmp`, `tcp` and\n`udp`. Names for well known protocols are:\n- `ah`: AH (authentication header, protocol number `51`)\n- `esp`: ESP (encapsulating security payload, protocol number `50`)\n- `gre`: GRE (generic routing encapsulation, protocol number `47`)\n- `ip_in_ip`: IP encapsulation within IP (protocol number `4`)\n- `l2tp`: L2TP (layer two tunneling protocol, protocol number `115`)\n- `rsvp`: RSVP (reservation protocol, protocol number `46`)\n- `sctp`: SCTP (stream control transmission protocol, protocol number `132`)\n- `vrrp`: VRRP (virtual router redundancy protocol, protocol number `112`)\n\nFor other protocols, specify a value of `number_`*N*, where *N* is the\nnetwork protocol number in decimal.",
            "enum": [
              "ah",
              "esp",
              "gre",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "vrrp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "SecurityGroupRuleProtocolIndividual"
      },
      "SecurityGroupRuleProtocolIndividualPrototype": {
        "properties": {
          "protocol": {
            "description": "The network protocol to allow.\n\nThe value must be the name of an individual protocol, excluding `icmp`, `tcp` and\n`udp`. Names for well known protocols are:\n- `ah`: AH (authentication header, protocol number `51`)\n- `esp`: ESP (encapsulating security payload, protocol number `50`)\n- `gre`: GRE (generic routing encapsulation, protocol number `47`)\n- `ip_in_ip`: IP encapsulation within IP (protocol number `4`)\n- `l2tp`: L2TP (layer two tunneling protocol, protocol number `115`)\n- `rsvp`: RSVP (reservation protocol, protocol number `46`)\n- `sctp`: SCTP (stream control transmission protocol, protocol number `132`)\n- `vrrp`: VRRP (virtual router redundancy protocol, protocol number `112`)\n\nFor other protocols, specify a value of `number_`*N*, where *N* is the\nnetwork protocol number in decimal.",
            "enum": [
              "ah",
              "esp",
              "gre",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "vrrp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "protocol"
        ],
        "type": "object",
        "title": "SecurityGroupRuleProtocolIndividualPrototype"
      },
      "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": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolAnyPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolICMPTCPUDPPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolICMPPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolTCPUDPPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleProtocolIndividualPrototype"
          }
        ],
        "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 will only apply 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"
          },
          "name": {
            "description": "The name for this security group rule. The name must not be used by another rule\nin the security group. If unspecified, the name will be a hyphenated list of\nrandomly-selected words.",
            "example": "my-rule-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"
          },
          "protocol": {
            "description": "The network protocol",
            "enum": [
              "ah",
              "any",
              "esp",
              "gre",
              "icmp",
              "icmp_tcp_udp",
              "ip_in_ip",
              "l2tp",
              "number_0",
              "number_10",
              "number_100",
              "number_101",
              "number_102",
              "number_103",
              "number_104",
              "number_105",
              "number_106",
              "number_107",
              "number_108",
              "number_109",
              "number_11",
              "number_110",
              "number_111",
              "number_113",
              "number_114",
              "number_116",
              "number_117",
              "number_118",
              "number_119",
              "number_12",
              "number_120",
              "number_121",
              "number_122",
              "number_123",
              "number_124",
              "number_125",
              "number_126",
              "number_127",
              "number_128",
              "number_129",
              "number_13",
              "number_130",
              "number_131",
              "number_133",
              "number_134",
              "number_135",
              "number_136",
              "number_137",
              "number_138",
              "number_139",
              "number_14",
              "number_140",
              "number_141",
              "number_142",
              "number_143",
              "number_144",
              "number_145",
              "number_146",
              "number_147",
              "number_148",
              "number_149",
              "number_15",
              "number_150",
              "number_151",
              "number_152",
              "number_153",
              "number_154",
              "number_155",
              "number_156",
              "number_157",
              "number_158",
              "number_159",
              "number_16",
              "number_160",
              "number_161",
              "number_162",
              "number_163",
              "number_164",
              "number_165",
              "number_166",
              "number_167",
              "number_168",
              "number_169",
              "number_170",
              "number_171",
              "number_172",
              "number_173",
              "number_174",
              "number_175",
              "number_176",
              "number_177",
              "number_178",
              "number_179",
              "number_18",
              "number_180",
              "number_181",
              "number_182",
              "number_183",
              "number_184",
              "number_185",
              "number_186",
              "number_187",
              "number_188",
              "number_189",
              "number_19",
              "number_190",
              "number_191",
              "number_192",
              "number_193",
              "number_194",
              "number_195",
              "number_196",
              "number_197",
              "number_198",
              "number_199",
              "number_2",
              "number_20",
              "number_200",
              "number_201",
              "number_202",
              "number_203",
              "number_204",
              "number_205",
              "number_206",
              "number_207",
              "number_208",
              "number_209",
              "number_21",
              "number_210",
              "number_211",
              "number_212",
              "number_213",
              "number_214",
              "number_215",
              "number_216",
              "number_217",
              "number_218",
              "number_219",
              "number_22",
              "number_220",
              "number_221",
              "number_222",
              "number_223",
              "number_224",
              "number_225",
              "number_226",
              "number_227",
              "number_228",
              "number_229",
              "number_23",
              "number_230",
              "number_231",
              "number_232",
              "number_233",
              "number_234",
              "number_235",
              "number_236",
              "number_237",
              "number_238",
              "number_239",
              "number_24",
              "number_240",
              "number_241",
              "number_242",
              "number_243",
              "number_244",
              "number_245",
              "number_246",
              "number_247",
              "number_248",
              "number_249",
              "number_25",
              "number_250",
              "number_251",
              "number_252",
              "number_253",
              "number_254",
              "number_255",
              "number_26",
              "number_27",
              "number_28",
              "number_29",
              "number_3",
              "number_30",
              "number_31",
              "number_32",
              "number_33",
              "number_34",
              "number_35",
              "number_36",
              "number_37",
              "number_38",
              "number_39",
              "number_40",
              "number_41",
              "number_42",
              "number_43",
              "number_44",
              "number_45",
              "number_48",
              "number_49",
              "number_5",
              "number_52",
              "number_53",
              "number_54",
              "number_55",
              "number_56",
              "number_57",
              "number_58",
              "number_59",
              "number_60",
              "number_61",
              "number_62",
              "number_63",
              "number_64",
              "number_65",
              "number_66",
              "number_67",
              "number_68",
              "number_69",
              "number_7",
              "number_70",
              "number_71",
              "number_72",
              "number_73",
              "number_74",
              "number_75",
              "number_76",
              "number_77",
              "number_78",
              "number_79",
              "number_8",
              "number_80",
              "number_81",
              "number_82",
              "number_83",
              "number_84",
              "number_85",
              "number_86",
              "number_87",
              "number_88",
              "number_89",
              "number_9",
              "number_90",
              "number_91",
              "number_92",
              "number_93",
              "number_94",
              "number_95",
              "number_96",
              "number_97",
              "number_98",
              "number_99",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "vrrp"
            ],
            "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/SecurityGroupRuleIP"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDR"
          },
          {
            "$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.\n\nSpecify a CIDR block of `0.0.0.0/0` to allow traffic from any source (or to any\ndestination, for outbound rules).",
        "oneOf": [
          {
            "$ref": "#/components/schemas/SecurityGroupRuleIPPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDRPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupIdentity"
          }
        ],
        "type": "object",
        "x-unevaluatedProperties": false,
        "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/SecurityGroupRuleIPPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupRuleCIDRPrototype"
          },
          {
            "$ref": "#/components/schemas/SecurityGroupIdentity"
          }
        ],
        "type": "object",
        "x-unevaluatedProperties": false,
        "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": {
        "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.",
        "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": {
        "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_access_protocols": {
            "description": "The access protocols to allow for this share:\n- `nfs4`: NFSv4 is used to access this share via its associated share mount target.\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/ShareAllowedAccessProtocol"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "allowed_transit_encryption_modes": {
            "description": "The transit encryption modes allowed for this share:\n- `none`: Not encrypted in transit.\n- `ipsec`: Encrypted in transit using an instance identity certificate.\n- `stunnel`: Encrypted in transit using a connection via the installed stunnel\n  client.\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
          },
          "availability_mode": {
            "description": "The data availability mode of the share:\n  - `zonal`: The share's data will be available provided the `zone` of the share is\n    available.  Additionally, disasters affecting the zone may lead to data loss.\n  - `regional`:  The share's data will be available provided at least one zone in the\n    region is available.  Additionally, disasters affecting the entire region may lead\n    to data loss.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "enum": [
              "regional",
              "zonal"
            ],
            "example": "zonal",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "bandwidth": {
            "description": "The maximum bandwidth (in megabits per second) for the share.",
            "minimum": 1,
            "type": "integer"
          },
          "created_at": {
            "description": "The date and time that the file share is created",
            "example": "2026-01-02T03:04:05.006Z",
            "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.\n\nThe maximum IOPS for a share as defined by the share's profile may increase in the\nfuture.",
            "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."
              }
            ]
          },
          "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 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.\n\nThis property will be absent for shares with an `availability_mode` of `regional`."
          }
        },
        "required": [
          "access_control_mode",
          "accessor_binding_role",
          "accessor_bindings",
          "allowed_access_protocols",
          "allowed_transit_encryption_modes",
          "availability_mode",
          "bandwidth",
          "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",
          "storage_generation",
          "user_tags"
        ],
        "type": "object",
        "title": "Share"
      },
      "ShareAccessorBinding": {
        "properties": {
          "accessor": {
            "$ref": "#/components/schemas/ShareAccessorBindingAccessor"
          },
          "created_at": {
            "description": "The date and time that the share accessor binding was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShareReference"
          },
          {
            "$ref": "#/components/schemas/WatsonxMachineLearningReference"
          }
        ],
        "type": "object",
        "title": "ShareAccessorBindingAccessor"
      },
      "ShareAccessorBindingCollection": {
        "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-ae9bdc18-aed0-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"
      },
      "ShareAllowedAccessProtocol": {
        "enum": [
          "nfs4"
        ],
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "ShareAllowedAccessProtocol"
      },
      "ShareAllowedTransitEncryptionMode": {
        "enum": [
          "ipsec",
          "none",
          "stunnel"
        ],
        "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`, `allowed_access_protocols`, `bandwidth`, `encryption_key`,\n`initial_owner`, `iops`, `profile`, `size`, and `zone` will be inherited from\n`origin_share`.\n\nAccessor file shares can only be created for shares with a `storage_generation` of `1`.",
        "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.\n\nThe `vpc` access control mode has been deprecated. Use `security_group` instead.",
            "enum": [
              "security_group",
              "vpc"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "allowed_access_protocols": {
            "description": "The access protocols to allow for this share.\nIf unspecified:\n- If share mount targets are specified, only the access protocols specified by those\n  share mount target will be allowed.\n- Otherwise, the default access protocols from the profile will be used.",
            "items": {
              "$ref": "#/components/schemas/ShareAllowedAccessProtocol"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true,
            "x-ibm-release-level": "preview"
          },
          "bandwidth": {
            "description": "The maximum bandwidth (in megabits per second) for the file share.\n\nIf the share profile has a `bandwidth.type` of `dependent` or `fixed`, this property is\nsystem-managed and must not be specified. Otherwise, the specified value must be within\nthe `bandwidth` range of the share's profile.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [`size` and\n`iops`](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles&interface=api).",
            "example": 100,
            "minimum": 1,
            "type": "integer",
            "x-ibm-release-level": "preview"
          },
          "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.\n\nThis property must be specified if the share profile `availability_mode` is `zonal`,\nand must not be specified otherwise."
          }
        },
        "required": [
          "profile",
          "size"
        ],
        "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`, `allowed_access_protocols`, `bandwidth`, `encryption_key`,\n`initial_owner`, and `size` will be inherited from the `source_share`.\n\nReplica file shares can only be created if the source share has a `storage_generation` of\n`1`.",
        "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:\n- support the share's specified IOPS and size, and\n- have the same `storage_generation` as the source share."
          },
          "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:\n- Not already have a replica.\n- Not be a replica.\n- Have a `storage_generation` of `1`.\n\nIf source file share is specified by 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.\n\nThis property must be specified if the share profile `availability_mode` is `zonal`,\nand must not be specified otherwise."
          }
        },
        "required": [
          "profile",
          "replication_cron_spec",
          "source_share"
        ],
        "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`,\n`initial_owner` and `zone` will be inherited from `source_snapshot`.",
        "properties": {
          "allowed_access_protocols": {
            "description": "The access protocols to allow for this share.\nIf unspecified:\n- If share mount targets are specified, only the access protocols specified by those\n  share mount target will be allowed.\n- Otherwise, the default access protocols from the profile will be used.",
            "items": {
              "$ref": "#/components/schemas/ShareAllowedAccessProtocol"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true,
            "x-ibm-release-level": "preview"
          },
          "bandwidth": {
            "description": "The maximum bandwidth (in megabits per second) for the file share.\n\nIf the share profile has a `bandwidth.type` of `dependent` or `fixed`, this property is\nsystem-managed and must not be specified. Otherwise, the specified value must be within\nthe `bandwidth` range of the share's profile.\n\nProvided the property is user-managed, if it is unspecified, its value will be set\nbased on the specified [`size` and\n`iops`](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles&interface=api).",
            "example": 100,
            "minimum": 1,
            "type": "integer",
            "x-ibm-release-level": "preview"
          },
          "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 share's `encryption_key` will be used.\n\nFor snapshots of shares with `storage_generation` of `2`, an encryption key may only\nbe specified if the source share's `encryption` is `user_managed`."
          },
          "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.\n\n`initial_owner` for a share created from a source snapshot can only be specified for\nsnapshots of shares with `storage_generation` of `1`."
          },
          "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:\n- support the share's specified IOPS and size, and\n- have the same `storage_generation` as the source snapshot."
          },
          "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": {
        "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",
        "x-unevaluatedProperties": false,
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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"
          },
          "access_protocol": {
            "description": "The protocol used to access the share for this share mount target:\n- `nfs4`: NFSv4 will be used.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "enum": [
              "nfs4"
            ],
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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- `ipsec`: Encrypted in transit using an instance identity certificate.\n- `stunnel`: Encrypted in transit using a connection via the installed stunnel\n  client.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "enum": [
              "ipsec",
              "none",
              "stunnel"
            ],
            "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",
          "access_protocol",
          "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.\n\nThe virtual network interface must:\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`.",
        "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`.",
        "properties": {
          "vpc": {
            "$ref": "#/components/schemas/VPCIdentity"
          }
        },
        "required": [
          "vpc"
        ],
        "type": "object",
        "title": "ShareMountTargetByAccessControlModeVPC"
      },
      "ShareMountTargetCollection": {
        "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": {
          "access_protocol": {
            "description": "The protocol to use to access the share for this share mount target:\n- `nfs4`: NFSv4 will be used.\n\nThe specified value must be listed in the share's `allowed_access_protocols`.",
            "enum": [
              "nfs4"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string",
            "x-ibm-release-level": "preview"
          },
          "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": {
            "description": "The transit encryption mode to use for this share mount target:\n- `none`: Not encrypted in transit.\n- `ipsec`: Encrypted in transit using an instance identity certificate. The\n  `access_control_mode` for the share must be `security_group`.\n- `stunnel`: Encrypted in transit using an stunnel connection. 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": [
              "ipsec",
              "none",
              "stunnel"
            ],
            "example": "none",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "access_protocol",
          "transit_encryption"
        ],
        "type": "object",
        "x-unevaluatedProperties": false,
        "title": "ShareMountTargetPrototype"
      },
      "ShareMountTargetReference": {
        "example": {
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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\nThe `vpc` access control mode has been deprecated. Use `security_group` instead.\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_access_protocols": {
            "description": "The access protocols to allow for this share (replacing any existing access protocols).\n\nIf the share has existing mount targets, the set of allowed access protocols must\ncontain all `access_protocol` modes specified by existing mount targets.\n\nFor this property to be updated, the `accessor_binding_role` must be `none`.",
            "items": {
              "$ref": "#/components/schemas/ShareAllowedAccessProtocol"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true,
            "x-ibm-release-level": "preview"
          },
          "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
          },
          "bandwidth": {
            "description": "The maximum bandwidth (in megabits per second) for the share.\n\nFor this property to be changed, the share `accessor_binding_role` must not be\n`accessor`, the share profile must not have a `bandwidth.type` of `dependent` or\n`fixed`, and the specified value must be within the `bandwidth` range of the share's\nprofile.",
            "minimum": 1,
            "type": "integer"
          },
          "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": {
        "properties": {
          "allowed_access_protocols": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShareProfileAllowedAccessProtocols"
              }
            ],
            "description": "The possible allowed access protocols for a share with this profile."
          },
          "allowed_transit_encryption_modes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShareProfileAllowedTransitEncryptionModes"
              }
            ],
            "description": "The possible allowed transit encryption modes for a share with this profile."
          },
          "availability_modes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShareProfileAvailabilityModes"
              }
            ],
            "description": "The data availability mode of a share with this profile."
          },
          "bandwidth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShareProfileBandwidth"
              }
            ],
            "description": "The permitted bandwidth (in megabits per second) for a share with this profile."
          },
          "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"
          },
          "storage_generation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShareProfileStorageGeneration"
              }
            ],
            "description": "The storage generation for a share with this profile."
          }
        },
        "required": [
          "allowed_access_protocols",
          "allowed_transit_encryption_modes",
          "availability_modes",
          "bandwidth",
          "capacity",
          "family",
          "href",
          "iops",
          "name",
          "resource_type",
          "storage_generation"
        ],
        "type": "object",
        "title": "ShareProfile"
      },
      "ShareProfileAllowedAccessProtocols": {
        "example": {
          "default": [
            "nfs4"
          ],
          "type": "subset",
          "values": [
            "nfs4"
          ]
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShareProfileAllowedAccessProtocolsSubset"
          }
        ],
        "type": "object",
        "title": "ShareProfileAllowedAccessProtocols"
      },
      "ShareProfileAllowedAccessProtocolsSubset": {
        "properties": {
          "default": {
            "description": "The default allowed access protocol modes for shares with this profile.",
            "example": [
              "nfs4"
            ],
            "items": {
              "$ref": "#/components/schemas/ShareAllowedAccessProtocol"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "type": {
            "description": "The type for this profile field",
            "enum": [
              "subset"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "values": {
            "description": "The possible allowed access protocols for shares with this profile:\n- `nfs4`: NFSv4 will be used.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "example": [
              "nfs4"
            ],
            "items": {
              "$ref": "#/components/schemas/ShareAllowedAccessProtocol"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "default",
          "type",
          "values"
        ],
        "type": "object",
        "title": "ShareProfileAllowedAccessProtocolsSubset"
      },
      "ShareProfileAllowedTransitEncryptionModes": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShareProfileAllowedTransitEncryptionModesSubset"
          }
        ],
        "type": "object",
        "title": "ShareProfileAllowedTransitEncryptionModes"
      },
      "ShareProfileAllowedTransitEncryptionModesSubset": {
        "properties": {
          "default": {
            "description": "The default allowed transit encryption modes for shares with this profile.",
            "items": {
              "$ref": "#/components/schemas/ShareAllowedTransitEncryptionMode"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "type": {
            "description": "The type for this profile field",
            "enum": [
              "subset"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "values": {
            "description": "The allowed [transit encryption\nmodes](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-about&interface=ui#fs-eit)\nfor a share with this profile:\n- `none`: Not encrypted in transit.\n- `ipsec`: Encrypted in transit using an instance identity certificate.\n- `stunnel`: Encrypted in transit using a connection via an stunnel connection.\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
          }
        },
        "required": [
          "default",
          "type",
          "values"
        ],
        "type": "object",
        "title": "ShareProfileAllowedTransitEncryptionModesSubset"
      },
      "ShareProfileAvailabilityModes": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShareProfileAvailabilityModesEnum"
          },
          {
            "$ref": "#/components/schemas/ShareProfileAvailabilityModesFixed"
          }
        ],
        "type": "object",
        "title": "ShareProfileAvailabilityModes"
      },
      "ShareProfileAvailabilityModesEnum": {
        "description": "The permitted data availability modes for a share with this profile.",
        "properties": {
          "default": {
            "description": "The default data availability mode for this profile.",
            "enum": [
              "regional",
              "zonal"
            ],
            "example": "zonal",
            "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 data availability mode of the share:\n- `zonal`: The data availability of this share is limited only to a single zone of a\n  given region as provided by the `zone` of the share.\n- `regional`: The data availability of this share covers all zones in the region where\n  the share is created.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "example": [
              "zonal"
            ],
            "items": {
              "enum": [
                "regional",
                "zonal"
              ],
              "example": "zonal",
              "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": "ShareProfileAvailabilityModesEnum"
      },
      "ShareProfileAvailabilityModesFixed": {
        "description": "The data availability mode for 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",
            "enum": [
              "regional",
              "zonal"
            ],
            "example": "zonal",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "title": "ShareProfileAvailabilityModesFixed"
      },
      "ShareProfileBandwidth": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShareProfileBandwidthRange"
          },
          {
            "$ref": "#/components/schemas/ShareProfileBandwidthDependent"
          },
          {
            "$ref": "#/components/schemas/ShareProfileBandwidthFixed"
          },
          {
            "$ref": "#/components/schemas/ShareProfileBandwidthEnum"
          },
          {
            "$ref": "#/components/schemas/ShareProfileBandwidthDependentRange"
          }
        ],
        "type": "object",
        "title": "ShareProfileBandwidth"
      },
      "ShareProfileBandwidthDependent": {
        "description": "The permitted bandwidth 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": "ShareProfileBandwidthDependent"
      },
      "ShareProfileBandwidthDependentRange": {
        "description": "The permitted bandwidth range of a share with this profile depends on its configuration.",
        "properties": {
          "max": {
            "description": "The maximum value for this profile field.",
            "example": 400,
            "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": 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": "ShareProfileBandwidthDependentRange"
      },
      "ShareProfileBandwidthEnum": {
        "description": "The permitted bandwidth 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": [
              100,
              200,
              400
            ],
            "items": {
              "type": "integer"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "default",
          "type",
          "values"
        ],
        "type": "object",
        "title": "ShareProfileBandwidthEnum"
      },
      "ShareProfileBandwidthFixed": {
        "description": "The permitted bandwidth 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": 100,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "title": "ShareProfileBandwidthFixed"
      },
      "ShareProfileBandwidthRange": {
        "description": "The permitted bandwidth range (in megabits per second) of a share 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": 1024,
            "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"
          },
          "value": {
            "type": "integer"
          }
        },
        "required": [
          "default",
          "max",
          "min",
          "step",
          "type"
        ],
        "type": "object",
        "title": "ShareProfileBandwidthRange"
      },
      "ShareProfileCapacity": {
        "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": {
        "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": {
        "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": {
        "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"
      },
      "ShareProfileStorageGeneration": {
        "example": {
          "type": "fixed",
          "value": 1
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShareProfileStorageGenerationFixed"
          }
        ],
        "type": "object",
        "title": "ShareProfileStorageGeneration"
      },
      "ShareProfileStorageGenerationFixed": {
        "description": "The storage generation value 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": 1,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "title": "ShareProfileStorageGenerationFixed"
      },
      "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, then only transit encryption modes\n  specified by those share mount target will be allowed.\n- Otherwise, the default allowed transit encryption modes from the profile will be\n  used.",
            "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.\n\nReplica file shares can only be created for shares with an `availability_mode` of\n`zonal`.",
        "properties": {
          "allowed_transit_encryption_modes": {
            "description": "The transit encryption modes to allow for this share. If unspecified:\n- If share mount targets are specified, then only transit encryption modes\n  specified by those share mount target will be allowed.\n- Otherwise, the default allowed transit encryption modes from the profile will be\n  used.",
            "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:\n- support the share's specified IOPS and size, and\n- have the same `storage_generation` as the share."
          },
          "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"
        ],
        "type": "object",
        "title": "SharePrototypeShareContext"
      },
      "ShareReference": {
        "example": {
          "crn": "crn:v1:bluemix:public:is:us-south-1:a/aa2432b1fa4d4ace891e9b80fc104e34::share:r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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",
          "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": "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.",
            "example": {
              "id": "bb1b52262f7441a586f49068482f1e60",
              "resource_type": "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": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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`.",
            "example": 10,
            "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. For shares with `availability_mode` of\n`regional`, this property will be absent."
          }
        },
        "required": [
          "created_at",
          "crn",
          "fingerprint",
          "href",
          "id",
          "lifecycle_reasons",
          "lifecycle_state",
          "minimum_size",
          "name",
          "resource_group",
          "resource_type",
          "status",
          "status_reasons",
          "user_tags"
        ],
        "type": "object",
        "title": "ShareSnapshot"
      },
      "ShareSnapshotCollection": {
        "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",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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",
            "example": "A failure occurred",
            "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",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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): 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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): 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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): 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint.\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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": {
        "properties": {
          "backup_policy_job": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackupPolicyJobReference"
              },
              {
                "description": "If present, the backup policy job that created this snapshot consistency group.\nSnapshot consistency groups with the same backup policy job identifier represent\nsnapshots of the same instance across different storage generations."
              }
            ]
          },
          "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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. Each snapshot must specify a\n`source_volume` attached to the same virtual server instance, and all source\nvolumes must have the same `storage_generation` value.",
            "items": {
              "$ref": "#/components/schemas/SnapshotPrototypeSnapshotConsistencyGroupContext"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "snapshots"
        ],
        "type": "object",
        "title": "SnapshotConsistencyGroupBySnapshots"
      },
      "SnapshotConsistencyGroupCollection": {
        "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",
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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=20"
          },
          "instance_profiles": [
            {
              "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
              "name": "bx2-4x16",
              "resource_type": "instance_profile"
            }
          ],
          "limit": 20,
          "next": {
            "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
          },
          "total_count": 132
        },
        "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": {
        "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.",
            "example": {
              "id": "bb1b52262f7441a586f49068482f1e60",
              "resource_type": "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"
      },
      "StorageGeneration": {
        "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
        ],
        "type": "integer",
        "title": "StorageGeneration"
      },
      "Subnet": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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<sup>(32 - prefix length)</sup>. For example, the\nprefix length `/24` gives:<br>\n2<sup>(32 - 24)</sup> = 2<sup>8</sup> = 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": {
        "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": {
        "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"
      },
      "TransitGatewayReference": {
        "example": {
          "crn": "crn:v1:bluemix:public:transit:dal03:a/aa2432b1fa4d4ace891e9b80fc104e34::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
          "id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
          "resource_type": "transit_gateway"
        },
        "properties": {
          "crn": {
            "description": "The CRN for this transit gateway",
            "example": "crn:v1:bluemix:public:transit:dal03:a/aa2432b1fa4d4ace891e9b80fc104e34::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
            "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 transit gateway.",
            "example": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4",
            "maxLength": 64,
            "minLength": 1,
            "pattern": "^[-0-9a-z_]+$",
            "type": "string"
          },
          "resource_type": {
            "description": "The resource type",
            "enum": [
              "transit_gateway"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "crn",
          "id",
          "resource_type"
        ],
        "type": "object",
        "title": "TransitGatewayReference"
      },
      "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"
      },
      "TwoOctetPrivateASN": {
        "description": "The two-octet private autonomous system number.",
        "example": 64520,
        "maximum": 65534,
        "minimum": 64512,
        "type": "integer",
        "title": "TwoOctetPrivateASN"
      },
      "TwoOctetPublicASN": {
        "description": "The two-octet public autonomous system number.",
        "example": 23457,
        "maximum": 64495,
        "minimum": 23457,
        "type": "integer",
        "title": "TwoOctetPublicASN"
      },
      "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": 4,
          "manufacturer": "amd"
        },
        "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": {
        "properties": {
          "classic_access": {
            "description": "Indicates whether this VPC is connected to Classic Infrastructure. If true, this\nVPC's resources have private network connectivity to the account's Classic\nInfrastructure resources.",
            "example": false,
            "type": "boolean"
          },
          "created_at": {
            "description": "The date and time that the VPC was created",
            "example": "2026-01-02T03:04:05.006Z",
            "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.",
            "example": [
              {
                "ip": {
                  "address": "192.168.3.4"
                },
                "zone": {
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
                  "name": "us-south-1"
                }
              },
              {
                "ip": {
                  "address": "192.168.4.4"
                },
                "zone": {
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
                  "name": "us-south-2"
                }
              },
              {
                "ip": {
                  "address": "192.168.5.4"
                },
                "zone": {
                  "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3",
                  "name": "us-south-3"
                }
              }
            ],
            "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",
          "cse_source_ips",
          "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": {
        "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 `dns_resolution_binding_mode` be set to `primary`\nfor all 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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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 `dns_resolution_binding_mode` set to either `primary`\nor `per_resource_binding` and reside in the VPC that has `dns.enable_hub` set to\n`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.",
        "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.\nThis value is set at creation and subsequently immutable.\n\nSetting this property to `true` is supported only for accounts that have been\n[granted\napproval](https://cloud.ibm.com/docs/vpc?topic=vpc-setting-up-access-to-classic-infrastructure).\nInstead, use a [Transit Gateway](https://cloud.ibm.com/docs/transit-gateway) to\nconnect this VPC to Classic Infrastructure.",
            "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": {
        "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.",
            "example": {
              "id": "bb1b52262f7441a586f49068482f1e60",
              "resource_type": "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
      },
      "VPNGatewayAdvertisedCIDRCollection": {
        "example": {
          "advertised_cidrs": [
            "192.168.3.0/24"
          ]
        },
        "properties": {
          "advertised_cidrs": {
            "description": "The static CIDRs advertised through any enabled routing protocol (for example, BGP).\nThe routing protocol will advertise routes with these CIDRs as route destinations.",
            "example": [
              "192.168.3.0/24"
            ],
            "items": {
              "description": "A static CIDR advertised through any enabled routing protocol (for example, BGP).",
              "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"
            },
            "maxItems": 10,
            "minItems": 0,
            "type": "array"
          }
        },
        "required": [
          "advertised_cidrs"
        ],
        "type": "object",
        "title": "VPNGatewayAdvertisedCIDRCollection"
      },
      "VPNGatewayCollection": {
        "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"
        },
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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"
      },
      "VPNGatewayConnectionDynamicRouteMode": {
        "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/VPNGatewayConnectionDynamicRouteModeLocal"
          },
          "peer": {
            "$ref": "#/components/schemas/VPNGatewayConnectionDynamicRouteModePeer"
          },
          "routing_protocol": {
            "description": "The routing protocol for this VPN gateway connection.",
            "enum": [
              "bgp"
            ],
            "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 dynamic route mode).",
            "items": {
              "$ref": "#/components/schemas/VPNGatewayConnectionDynamicRouteModeTunnel"
            },
            "type": "array"
          }
        },
        "required": [
          "distribute_traffic",
          "local",
          "peer",
          "routing_protocol",
          "tunnels"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteMode"
      },
      "VPNGatewayConnectionDynamicRouteModeLocal": {
        "properties": {
          "ike_identities": {
            "description": "The local IKE identities.\n\nA VPN gateway in dynamic 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.",
            "format": "sequence",
            "items": {
              "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentity"
            },
            "maxItems": 2,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "ike_identities"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteModeLocal"
      },
      "VPNGatewayConnectionDynamicRouteModeLocalPrototype": {
        "properties": {
          "ike_identities": {
            "description": "The local IKE identities to use.\n\nA VPN gateway in dynamic 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\nIP address of the member's VPN connection tunnel.",
            "format": "sequence",
            "items": {
              "$ref": "#/components/schemas/VPNGatewayConnectionIKEIdentityPrototype"
            },
            "maxItems": 2,
            "minItems": 2,
            "type": "array"
          }
        },
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteModeLocalPrototype"
      },
      "VPNGatewayConnectionDynamicRouteModePeer": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionPeerByAddress"
          },
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionPeerByFQDN"
          }
        ],
        "properties": {
          "asn": {
            "$ref": "#/components/schemas/VPNGatewayConnectionPeerASN"
          },
          "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": [
          "asn",
          "ike_identity",
          "type"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteModePeer"
      },
      "VPNGatewayConnectionDynamicRouteModePeerPatch": {
        "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"
          }
        ],
        "properties": {
          "asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VPNGatewayConnectionPeerASN"
              }
            ],
            "description": "The peer autonomous system number (ASN) for this VPN gateway connection.\nThe ASN values in the\n[restricted ASN list](\nhttps://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations)\nare reserved and unavailable."
          }
        },
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteModePeerPatch"
      },
      "VPNGatewayConnectionDynamicRouteModePeerPrototype": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionPeerByAddress"
          },
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionPeerByFQDN"
          }
        ],
        "properties": {
          "asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VPNGatewayConnectionPeerASN"
              }
            ],
            "description": "The peer autonomous system number (ASN) for this VPN gateway connection.\nThe ASN values in the\n[restricted ASN list](\nhttps://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations)\nare reserved and unavailable."
          },
          "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": [
          "asn"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteModePeerPrototype"
      },
      "VPNGatewayConnectionDynamicRouteModePrototype": {
        "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/VPNGatewayConnectionDynamicRouteModeLocalPrototype"
          },
          "peer": {
            "$ref": "#/components/schemas/VPNGatewayConnectionDynamicRouteModePeerPrototype"
          },
          "routing_protocol": {
            "description": "The routing protocol for this VPN gateway connection.",
            "enum": [
              "bgp"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "tunnels": {
            "description": "The VPN tunnel configuration to use for this VPN gateway connection\n(in dynamic route mode).",
            "items": {
              "$ref": "#/components/schemas/VPNGatewayConnectionTunnelPrototype"
            },
            "maxItems": 2,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "peer",
          "routing_protocol",
          "tunnels"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteModePrototype"
      },
      "VPNGatewayConnectionDynamicRouteModeTunnel": {
        "properties": {
          "neighbor_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IP"
              }
            ],
            "description": "The IP address of the neighbor on the virtual tunnel interface.\nThis serves as the destination address for BGP peering sessions on the peer gateway\nwithin the tunnel.",
            "example": {
              "address": "169.254.0.2"
            }
          },
          "protocol_state": {
            "$ref": "#/components/schemas/RoutingProtocolState"
          },
          "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"
          },
          "tunnel_interface_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IP"
              }
            ],
            "description": "The IP address assigned to the VPN gateway's virtual tunnel interface.\nThis serves as the source address for BGP peering sessions initiated from the VPN\ngateway towards the peer gateway within the tunnel.",
            "example": {
              "address": "169.254.0.1"
            }
          }
        },
        "required": [
          "neighbor_ip",
          "protocol_state",
          "public_ip",
          "status",
          "status_reasons",
          "tunnel_interface_ip"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionDynamicRouteModeTunnel"
      },
      "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-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"
          },
          "routing_protocol": {
            "description": "The routing protocol for this VPN gateway connection.\nFor this property to be specified, `mode` must be `route`.\n\n- `none`: No routing protocol will be used.\n- `bgp`: The BGP routing protocol will be used.",
            "enum": [
              "bgp",
              "none"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "tunnels": {
            "description": "The VPN tunnel configuration to use for this VPN gateway connection\n(in dynamic route mode).",
            "items": {
              "$ref": "#/components/schemas/VPNGatewayConnectionTunnel"
            },
            "maxItems": 2,
            "minItems": 2,
            "type": "array"
          }
        },
        "type": "object",
        "title": "VPNGatewayConnectionPatch"
      },
      "VPNGatewayConnectionPeerASN": {
        "description": "The peer autonomous system number (ASN) for this VPN gateway connection.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/TwoOctetPrivateASN"
          },
          {
            "$ref": "#/components/schemas/TwoOctetPublicASN"
          },
          {
            "$ref": "#/components/schemas/FourOctetPrivateASN"
          },
          {
            "$ref": "#/components/schemas/FourOctetPublicASN"
          }
        ],
        "type": "integer",
        "title": "VPNGatewayConnectionPeerASN"
      },
      "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"
          }
        },
        "required": [
          "address"
        ],
        "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-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-z]{2,63}\\.?$",
            "type": "string"
          }
        },
        "required": [
          "fqdn"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionPeerFQDNPatch"
      },
      "VPNGatewayConnectionPeerPatch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionPolicyModePeerPatch"
          },
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionDynamicRouteModePeerPatch"
          }
        ],
        "type": "object",
        "title": "VPNGatewayConnectionPeerPatch"
      },
      "VPNGatewayConnectionPolicyMode": {
        "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/VPNGatewayConnectionDynamicRouteModePrototype"
          },
          {
            "$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": {
          "deleted": {
            "more_info": "https://cloud.ibm.com/apidocs/vpc#deleted-resources"
          },
          "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": {
            "bgp": "#/components/schemas/VPNGatewayConnectionDynamicRouteMode",
            "none": "#/components/schemas/VPNGatewayConnectionStaticRouteMode"
          },
          "propertyName": "routing_protocol"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionStaticRouteMode"
          },
          {
            "$ref": "#/components/schemas/VPNGatewayConnectionDynamicRouteMode"
          }
        ],
        "type": "object",
        "title": "VPNGatewayConnectionRouteMode"
      },
      "VPNGatewayConnectionStaticRouteMode": {
        "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"
      },
      "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"
      },
      "VPNGatewayConnectionTunnel": {
        "properties": {
          "neighbor_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IP"
              }
            ],
            "description": "The IP address of the neighbor on the virtual tunnel interface.\nThis serves as the destination address for BGP peering sessions on the peer gateway\nwithin the tunnel.",
            "example": {
              "address": "169.254.0.2"
            }
          },
          "tunnel_interface_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IP"
              }
            ],
            "description": "The IP address assigned to the VPN gateway's virtual tunnel interface.\nThis serves as the source address for BGP peering sessions initiated from the VPN\ngateway towards the peer gateway within the tunnel.",
            "example": {
              "address": "169.254.0.1"
            }
          }
        },
        "type": "object",
        "title": "VPNGatewayConnectionTunnel"
      },
      "VPNGatewayConnectionTunnelPrototype": {
        "properties": {
          "neighbor_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IP"
              }
            ],
            "description": "The IP address of the neighbor on the virtual tunnel interface.\nThis serves as the destination address for BGP peering sessions on the peer gateway\nwithin the tunnel.",
            "example": {
              "address": "169.254.0.2"
            }
          },
          "tunnel_interface_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IP"
              }
            ],
            "description": "The IP address assigned to the VPN gateway's virtual tunnel interface.\nThis serves as the source address for BGP peering sessions initiated from the VPN\ngateway towards the peer gateway within the tunnel.",
            "example": {
              "address": "169.254.0.1"
            }
          }
        },
        "required": [
          "neighbor_ip",
          "tunnel_interface_ip"
        ],
        "type": "object",
        "title": "VPNGatewayConnectionTunnelPrototype"
      },
      "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"
      },
      "VPNGatewayLocalASN": {
        "description": "The local autonomous system number (ASN) for this VPN gateway and its connections.",
        "example": 64520,
        "oneOf": [
          {
            "$ref": "#/components/schemas/TwoOctetPrivateASN"
          },
          {
            "$ref": "#/components/schemas/FourOctetPrivateASN"
          }
        ],
        "type": "integer",
        "title": "VPNGatewayLocalASN"
      },
      "VPNGatewayMember": {
        "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": {
        "example": {
          "local_asn": 64520,
          "name": "my-vpn-gateway"
        },
        "properties": {
          "local_asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VPNGatewayLocalASN"
              }
            ],
            "description": "The local autonomous system number (ASN) for this VPN gateway and\nits connections. The ASN values in the\n[restricted ASN list](\nhttps://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations)\nare reserved and unavailable."
          },
          "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": {
        "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": {
          "advertised_cidrs": [
            "192.168.3.0/24",
            "192.168.4.0/24"
          ],
          "local_asn": 64520,
          "mode": "route"
        },
        "properties": {
          "advertised_cidrs": {
            "description": "The static CIDRs advertised through any enabled routing protocol (for example, BGP).\nThe routing protocol will advertise routes with these CIDRs as route destinations.",
            "example": [
              "192.168.3.0/24"
            ],
            "items": {
              "description": "A static CIDR advertised through any enabled routing protocol (for example, BGP).",
              "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"
            },
            "maxItems": 10,
            "minItems": 0,
            "type": "array"
          },
          "local_asn": {
            "$ref": "#/components/schemas/VPNGatewayLocalASN"
          },
          "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": [
          "advertised_cidrs",
          "local_asn",
          "mode"
        ],
        "type": "object",
        "title": "VPNGatewayRouteMode"
      },
      "VPNGatewayRouteModePrototype": {
        "example": {
          "advertised_cidrs": [
            "192.168.3.0/24"
          ],
          "local_asn": 64520,
          "mode": "route"
        },
        "properties": {
          "advertised_cidrs": {
            "description": "The static CIDRs advertised through any enabled routing protocol (for example, BGP).\nThe routing protocol will advertise routes with these CIDRs as route destinations.",
            "example": [
              "192.168.3.0/24"
            ],
            "items": {
              "description": "A static CIDR advertised through any enabled routing protocol (for example, BGP).",
              "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"
            },
            "maxItems": 10,
            "minItems": 0,
            "type": "array"
          },
          "local_asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VPNGatewayLocalASN"
              }
            ],
            "default": 64520,
            "description": "The local autonomous system number (ASN) for this VPN gateway and\nits connections. The ASN values in the\n[restricted ASN list](\nhttps://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations)\nare reserved and unavailable."
          },
          "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"
      },
      "VPNGatewayServiceConnection": {
        "properties": {
          "created_at": {
            "description": "The date and time that this VPN gateway service connection was created.",
            "example": "2026-01-02T03:04:05.006Z",
            "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/VPNGatewayServiceConnectionCreator"
          },
          "id": {
            "description": "The unique identifier for this VPN gateway service connection",
            "example": "0717-64e7e88c-4b28-4082-9ab8-3f95876952ac",
            "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/VPNGatewayServiceConnectionLifecycleReason"
            },
            "minItems": 0,
            "type": "array"
          },
          "lifecycle_state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifecycleState"
              },
              {
                "description": "The lifecycle state of the VPN gateway service connection."
              }
            ]
          },
          "status": {
            "$ref": "#/components/schemas/VPNGatewayServiceConnectionStatus"
          },
          "status_reasons": {
            "description": "The reasons for the current VPN gateway service connection status (if any).",
            "items": {
              "$ref": "#/components/schemas/VPNGatewayServiceConnectionStatusReason"
            },
            "minItems": 0,
            "type": "array"
          }
        },
        "required": [
          "created_at",
          "creator",
          "id",
          "lifecycle_reasons",
          "lifecycle_state",
          "status",
          "status_reasons"
        ],
        "type": "object",
        "title": "VPNGatewayServiceConnection"
      },
      "VPNGatewayServiceConnectionCollection": {
        "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/0717-ddf51bec-3424-11e8-b467-0ed5f89f718b/service_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/service_connections?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
            }
          },
          "service_connections": {
            "description": "A page of service connections for the VPN gateway.",
            "items": {
              "$ref": "#/components/schemas/VPNGatewayServiceConnection"
            },
            "type": "array"
          },
          "total_count": {
            "description": "The total number of resources across all pages",
            "example": 132,
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "first",
          "limit",
          "service_connections",
          "total_count"
        ],
        "type": "object",
        "title": "VPNGatewayServiceConnectionCollection"
      },
      "VPNGatewayServiceConnectionCreator": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/TransitGatewayReference"
          }
        ],
        "type": "object",
        "title": "VPNGatewayServiceConnectionCreator"
      },
      "VPNGatewayServiceConnectionLifecycleReason": {
        "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": "VPNGatewayServiceConnectionLifecycleReason"
      },
      "VPNGatewayServiceConnectionStatus": {
        "description": "The status of this VPN gateway service connection:\n- `degraded`: operating with compromised performance.\n- `down`: not operational.\n- `up`: operating normally.",
        "enum": [
          "degraded",
          "down",
          "up"
        ],
        "example": "up",
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
        "type": "string",
        "title": "VPNGatewayServiceConnectionStatus"
      },
      "VPNGatewayServiceConnectionStatusReason": {
        "properties": {
          "code": {
            "description": "The reasons for the current VPN gateway service connection status (if any).\n- `internal_error`\n- `peer_not_responding`",
            "enum": [
              "internal_error",
              "peer_not_responding"
            ],
            "example": "peer_not_responding",
            "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 service connection's status.",
            "example": "The connection is down because the peer is not responding.",
            "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",
            "maxLength": 8000,
            "minLength": 10,
            "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "title": "VPNGatewayServiceConnectionStatusReason"
      },
      "VPNServer": {
        "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.",
            "example": "2026-01-02T03:04:05.006Z",
            "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-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.",
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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`.",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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.",
            "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
        "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.",
            "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."
          },
          "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.",
            "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.",
            "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."
          },
          "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.",
            "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.",
            "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."
          },
          "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.",
            "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.",
            "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."
          },
          "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.",
            "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": {
        "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": {
        "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.",
            "example": 1000,
            "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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): 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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): 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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): 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): 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\n- `metadata_service.enabled` (boolean): Whether the metadata service is enabled\n- `metadata_service.protocol` (string): The communication protocol used for the\n  metadata service endpoint\n- `vcpu.count` (integer): The number of virtual CPUs",
            "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": {
        "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",
            "example": "2026-01-02T03:04:05.006Z",
            "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": {
            "$ref": "#/components/schemas/VolumeAttachmentDevice"
          },
          "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": {
        "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": {
        "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",
        "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": {
        "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": {
        "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.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/VolumeIdentity"
          },
          {
            "$ref": "#/components/schemas/VolumePrototypeInstanceContext"
          }
        ],
        "type": "object",
        "title": "VolumeAttachmentPrototypeVolume"
      },
      "VolumeAttachmentReferenceInstanceContext": {
        "properties": {
          "deleted": {
            "$ref": "#/components/schemas/Deleted"
          },
          "device": {
            "$ref": "#/components/schemas/VolumeAttachmentDevice"
          },
          "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": {
        "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": {
            "$ref": "#/components/schemas/VolumeAttachmentDevice"
          },
          "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."
              }
            ]
          }
        },
        "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": {
        "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=20"
          },
          "instance_profiles": [
            {
              "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/bx2-4x16",
              "name": "bx2-4x16",
              "resource_type": "instance_profile"
            }
          ],
          "limit": 20,
          "next": {
            "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/{id}/instance_profiles?start=9d5a91a3e2cbd233b5a5b33436855ed1&limit=20"
          },
          "total_count": 132
        },
        "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"
      },
      "VolumeJob": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/VolumeJobTypeMigrate"
          }
        ],
        "properties": {
          "auto_delete": {
            "description": "Indicates whether this volume job will be automatically deleted after it\ncompletes. At present, this is always `false`, but may be modifiable in the future.",
            "example": false,
            "type": "boolean"
          },
          "completed_at": {
            "description": "The date and time that the volume job was completed.\n\nIf absent, the volume job has not yet completed.",
            "example": "2026-01-02T03:04:05.006Z",
            "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 volume job was created.",
            "example": "2026-01-02T03:04:05.006Z",
            "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"
          },
          "estimated_completion_at": {
            "description": "The date and time that the volume job is estimated to complete.\n\nIf absent, the volume job is still queued and has not yet started.",
            "example": "2026-01-02T03:04:05.006Z",
            "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 volume job",
            "example": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs/r006-095e9baf-01d4-4e29-986e-20d26606b82a",
            "maxLength": 8000,
            "minLength": 10,
            "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$",
            "type": "string"
          },
          "id": {
            "description": "The unique identifier for this volume job",
            "example": "r006-095e9baf-01d4-4e29-986e-20d26606b82a",
            "maxLength": 64,
            "minLength": 1,
            "pattern": "^[-0-9a-z_]+$",
            "type": "string"
          },
          "job_type": {
            "description": "The type of volume job.\n\n- `migrate`: Migrates a volume to a new `storage_generation` profile.\n             During the migration process, the volume will be `busy`.\n\nThe enumerated values for this property may\n[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
            "enum": [
              "migrate"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "name": {
            "description": "The name for this volume job. The name must not be used by another job for\nthis volume.",
            "example": "my-volume-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": [
              "volume_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 volume job was started.\n\nIf absent, the volume job has not yet started.",
            "example": "2026-01-02T03:04:05.006Z",
            "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 volume job:\n- `canceled`:  the job is canceled\n- `canceling`: the job is being canceled\n- `deleting`:  the job is being deleted\n- `failed`:    the job could not be completed successfully\n- `queued`:    the job is queued\n- `running`:   the job is in progress\n- `succeeded`: the 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": [
              "canceled",
              "canceling",
              "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/VolumeJobStatusReason"
            },
            "minItems": 0,
            "type": "array"
          }
        },
        "required": [
          "auto_delete",
          "created_at",
          "href",
          "id",
          "job_type",
          "name",
          "resource_type",
          "status",
          "status_reasons"
        ],
        "type": "object",
        "title": "VolumeJob"
      },
      "VolumeJobCollection": {
        "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/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/jobs?limit=20"
            }
          },
          "jobs": {
            "description": "The jobs for this volume.",
            "items": {
              "$ref": "#/components/schemas/VolumeJob"
            },
            "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/r006-1a6b7274-678d-4dfb-8981-c71dd9d4daa5/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": "VolumeJobCollection"
      },
      "VolumeJobPatch": {
        "properties": {
          "name": {
            "description": "The name for this volume job. The name must not be used by another job for\nthis volume.",
            "example": "my-volume-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": "VolumeJobPatch"
      },
      "VolumeJobPrototype": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/VolumeJobTypeMigratePrototype"
          }
        ],
        "properties": {
          "job_type": {
            "description": "The type of job this volume job will perform.\n\n- `migrate`: Migrates a volume to a new `storage_generation` profile.\n             During the migration process, the volume will be `busy`.",
            "enum": [
              "migrate"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "name": {
            "description": "The name for this volume job. The name must not be used by another job for\nthis volume. If unspecified, the name will be a hyphenated list of randomly-selected\nwords.",
            "example": "my-volume-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"
          }
        },
        "required": [
          "job_type",
          "parameters"
        ],
        "type": "object",
        "x-unevaluatedProperties": false,
        "title": "VolumeJobPrototype"
      },
      "VolumeJobStatusReason": {
        "properties": {
          "code": {
            "description": "A reason code for the status:\n- `instance_powered_off`: The instance the volume is attached to has been powered off\n- `internal_error`: Internal error (contact IBM support)\n- `volume_detached_from_instance`: The volume is not attached to a running instance",
            "enum": [
              "instance_powered_off",
              "internal_error",
              "volume_detached_from_instance"
            ],
            "example": "volume_detached_from_instance",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "message": {
            "description": "An explanation of the status reason",
            "example": "A failure occurred",
            "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-block-storage",
            "maxLength": 8000,
            "minLength": 10,
            "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "title": "VolumeJobStatusReason"
      },
      "VolumeJobTypeMigrate": {
        "properties": {
          "job_type": {
            "description": "The type of volume job.",
            "enum": [
              "migrate"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "parameters": {
            "$ref": "#/components/schemas/VolumeJobTypeMigrateParameters"
          }
        },
        "required": [
          "job_type",
          "parameters"
        ],
        "type": "object",
        "title": "VolumeJobTypeMigrate"
      },
      "VolumeJobTypeMigrateParameters": {
        "description": "The parameters to use after the volume is migrated.",
        "properties": {
          "bandwidth": {
            "description": "The value to use for the volume's `bandwidth` after migration.\n\nIf specified, the volume profile after migration must not have a `bandwidth.type` of\n`dependent`.",
            "example": 1000,
            "format": "int32",
            "maximum": 8192,
            "minimum": 100,
            "type": "integer"
          },
          "iops": {
            "description": "The value to use for the volume's `iops` after migration.\n\nIf specified, the volume profile after migration must not have an `iops.type` of\n`dependent`.",
            "example": 10000,
            "type": "integer"
          },
          "profile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeProfileIdentity"
              }
            ],
            "description": "The profile with a `storage_generation` value of `2` to migrate the volume to.\n\nThe volume's current profile must have a `storage_generation` value of `1`."
          }
        },
        "required": [
          "profile"
        ],
        "type": "object",
        "title": "VolumeJobTypeMigrateParameters"
      },
      "VolumeJobTypeMigratePrototype": {
        "properties": {
          "job_type": {
            "description": "The type of job this volume job will perform.\n\nThe volume must:\n- Have a `status` of `available`\n- Not currently have another `migrate` job with a `status` of `queued` or `running`.\n\nIf the volume is attached to an instance, the instance must be in `running` state.",
            "enum": [
              "migrate"
            ],
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
            "type": "string"
          },
          "parameters": {
            "$ref": "#/components/schemas/VolumeJobTypeMigrateParameters"
          }
        },
        "required": [
          "job_type",
          "parameters"
        ],
        "type": "object",
        "title": "VolumeJobTypeMigratePrototype"
      },
      "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`.",
            "example": 1000,
            "format": "int32",
            "maximum": 8192,
            "minimum": 1000,
            "type": "integer"
          },
          "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": {
        "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": {
        "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": {
        "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).",
            "example": 1000,
            "format": "int32",
            "maximum": 8192,
            "minimum": 1000,
            "type": "integer"
          },
          "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": {
        "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).",
            "example": 1000,
            "format": "int32",
            "maximum": 8192,
            "minimum": 1000,
            "type": "integer"
          },
          "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 for\n`storage_generation: 1` or at most 32,000 gigabytes for `storage_generation: 2`,\nand within the `boot_capacity` range of the volume's profile.\n\nIf unspecified, the capacity will depend on the image:\n- When using a system-provided image, 100 gigabytes or the `minimum_provisioned_size`\n  of the image, whichever is larger.\n- When using a custom image, the `minimum_provisioned_size` of the image.",
            "example": 100,
            "maximum": 32000,
            "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).",
            "example": 1000,
            "format": "int32",
            "maximum": 8192,
            "minimum": 1000,
            "type": "integer"
          },
          "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 for\n`storage_generation: 1` or at most 32,000 gigabytes for `storage_generation: 2`,\nand within the `boot_capacity` range of the volume's profile.",
            "example": 100,
            "maximum": 32000,
            "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."
              }
            ]
          },
          "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).",
            "example": 1000,
            "format": "int32",
            "maximum": 8192,
            "minimum": 1000,
            "type": "integer"
          },
          "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": {
        "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": {
        "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",
            "example": "A failure occurred",
            "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": {
        "properties": {
          "data_center": {
            "$ref": "#/components/schemas/ZoneDataCenter"
          },
          "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": {
            "$ref": "#/components/schemas/ZoneUniversalName"
          }
        },
        "required": [
          "href",
          "name",
          "region",
          "status"
        ],
        "type": "object",
        "title": "Zone"
      },
      "ZoneCollection": {
        "properties": {
          "zones": {
            "description": "The zones for the region",
            "items": {
              "$ref": "#/components/schemas/Zone"
            },
            "type": "array"
          }
        },
        "required": [
          "zones"
        ],
        "type": "object",
        "title": "ZoneCollection"
      },
      "ZoneDataCenter": {
        "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",
        "title": "ZoneDataCenter"
      },
      "ZoneIdentity": {
        "description": "Identifies a zone by a unique property.",
        "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": {
        "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"
      },
      "ZoneUniversalName": {
        "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",
        "title": "ZoneUniversalName"
      }
    },
    "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"
      }
    }
  }
}