Fix few nova response schemas
- keypair create response does not contain ID - server create response has a response_key (server). This is not really true, since creation may return reservation_id, but this is not typical and we can try to find a solution for that later. For now make sure cli server creation works. Change-Id: I3f52f0e6686767dcc8862543c4c3a155f42ead0e
This commit is contained in:
@@ -98,7 +98,10 @@ class ComputeMetadata(MetadataBase):
|
|||||||
].response_list_item_key = "keypair"
|
].response_list_item_key = "keypair"
|
||||||
|
|
||||||
elif resource_name == "server":
|
elif resource_name == "server":
|
||||||
if "migrate-live" in operation_name:
|
if "create" in operation_name:
|
||||||
|
operation.targets["rust-sdk"].response_key = "server"
|
||||||
|
operation.targets["rust-cli"].response_key = "server"
|
||||||
|
elif "migrate-live" in operation_name:
|
||||||
operation.targets[
|
operation.targets[
|
||||||
"rust-cli"
|
"rust-cli"
|
||||||
].cli_full_command = operation.targets[
|
].cli_full_command = operation.targets[
|
||||||
|
|||||||
@@ -620,10 +620,11 @@ KEYPAIR_LIST_SCHEMA: dict[str, Any] = {
|
|||||||
"required": ["keypairs"],
|
"required": ["keypairs"],
|
||||||
}
|
}
|
||||||
|
|
||||||
KEYPAIR_SCHEMA: dict[str, Any] = {
|
KEYPAIR_BASE_SCHEMA: dict[str, Any] = {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"description": "Keypair object",
|
"description": "Keypair object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
**copy.deepcopy(KEYPAIR_SHORT_SCHEMA["properties"]),
|
||||||
"user_id": {
|
"user_id": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The user_id for a keypair.",
|
"description": "The user_id for a keypair.",
|
||||||
@@ -647,8 +648,16 @@ KEYPAIR_SCHEMA: dict[str, Any] = {
|
|||||||
"format": "date-time",
|
"format": "date-time",
|
||||||
"description": "It is always null.",
|
"description": "It is always null.",
|
||||||
},
|
},
|
||||||
"id": {"type": "integer", "description": "The keypair ID."},
|
},
|
||||||
|
"required": ["name", "user_id", "type", "fingerprint", "public_key"],
|
||||||
|
}
|
||||||
|
|
||||||
|
KEYPAIR_SHOW_SCHEMA: dict[str, Any] = {
|
||||||
|
"type": "object",
|
||||||
|
"description": "Keypair object",
|
||||||
|
"properties": {
|
||||||
**copy.deepcopy(KEYPAIR_SHORT_SCHEMA["properties"]),
|
**copy.deepcopy(KEYPAIR_SHORT_SCHEMA["properties"]),
|
||||||
|
"id": {"type": "integer", "description": "The keypair ID."},
|
||||||
},
|
},
|
||||||
"required": ["name", "id", "user_id", "type", "fingerprint", "public_key"],
|
"required": ["name", "id", "user_id", "type", "fingerprint", "public_key"],
|
||||||
}
|
}
|
||||||
@@ -656,19 +665,34 @@ KEYPAIR_SCHEMA: dict[str, Any] = {
|
|||||||
KEYPAIR_CONTAINER_SCHEMA: dict[str, Any] = {
|
KEYPAIR_CONTAINER_SCHEMA: dict[str, Any] = {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"description": "Keypair object",
|
"description": "Keypair object",
|
||||||
"properties": {"keypair": KEYPAIR_SCHEMA},
|
"properties": {"keypair": KEYPAIR_SHOW_SCHEMA},
|
||||||
"required": ["keypair"],
|
"required": ["keypair"],
|
||||||
}
|
}
|
||||||
|
|
||||||
KEYPAIR_CREATED_SCHEMA: dict[str, Any] = copy.deepcopy(
|
KEYPAIR_CREATED_SCHEMA: dict[str, Any] = {
|
||||||
KEYPAIR_CONTAINER_SCHEMA
|
"type": "object",
|
||||||
)
|
"description": "Keypair object",
|
||||||
KEYPAIR_CREATED_SCHEMA["properties"]["keypair"]["properties"][
|
"properties": {
|
||||||
"private_key"
|
"keypair": {
|
||||||
] = {
|
"type": "object",
|
||||||
"type": "string",
|
"properties": {
|
||||||
"description": "If you do not provide a public key on create, a new keypair will be built for you, and the private key will be returned during the initial create call. Make sure to save this, as there is no way to get this private key again in the future.",
|
**copy.deepcopy(KEYPAIR_SHORT_SCHEMA["properties"]),
|
||||||
"x-openstack": {"max-ver": "2.91"},
|
"private_key": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "If you do not provide a public key on create, a new keypair will be built for you, and the private key will be returned during the initial create call. Make sure to save this, as there is no way to get this private key again in the future.",
|
||||||
|
"x-openstack": {"max-ver": "2.91"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"name",
|
||||||
|
"user_id",
|
||||||
|
"type",
|
||||||
|
"fingerprint",
|
||||||
|
"public_key",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["keypair"],
|
||||||
}
|
}
|
||||||
|
|
||||||
MIGRATION_SCHEMA: dict[str, Any] = {
|
MIGRATION_SCHEMA: dict[str, Any] = {
|
||||||
|
|||||||
@@ -937,9 +937,11 @@ resources:
|
|||||||
targets:
|
targets:
|
||||||
rust-sdk:
|
rust-sdk:
|
||||||
module_name: create
|
module_name: create
|
||||||
|
response_key: server
|
||||||
rust-cli:
|
rust-cli:
|
||||||
module_name: create
|
module_name: create
|
||||||
sdk_mod_name: create
|
sdk_mod_name: create
|
||||||
|
response_key: server
|
||||||
cli_full_command: server create
|
cli_full_command: server create
|
||||||
list_detailed:
|
list_detailed:
|
||||||
operation_id: servers/detail:get
|
operation_id: servers/detail:get
|
||||||
@@ -1063,10 +1065,12 @@ resources:
|
|||||||
rust-sdk:
|
rust-sdk:
|
||||||
module_name: create_image
|
module_name: create_image
|
||||||
operation_name: createImage
|
operation_name: createImage
|
||||||
|
response_key: server
|
||||||
rust-cli:
|
rust-cli:
|
||||||
module_name: create_image
|
module_name: create_image
|
||||||
sdk_mod_name: create_image
|
sdk_mod_name: create_image
|
||||||
operation_name: createImage
|
operation_name: createImage
|
||||||
|
response_key: server
|
||||||
find_implemented_by_sdk: true
|
find_implemented_by_sdk: true
|
||||||
cli_full_command: server create-image
|
cli_full_command: server create-image
|
||||||
os-start:
|
os-start:
|
||||||
@@ -1184,10 +1188,12 @@ resources:
|
|||||||
rust-sdk:
|
rust-sdk:
|
||||||
module_name: create_backup
|
module_name: create_backup
|
||||||
operation_name: createBackup
|
operation_name: createBackup
|
||||||
|
response_key: server
|
||||||
rust-cli:
|
rust-cli:
|
||||||
module_name: create_backup
|
module_name: create_backup
|
||||||
sdk_mod_name: create_backup
|
sdk_mod_name: create_backup
|
||||||
operation_name: createBackup
|
operation_name: createBackup
|
||||||
|
response_key: server
|
||||||
find_implemented_by_sdk: true
|
find_implemented_by_sdk: true
|
||||||
cli_full_command: server create-backup
|
cli_full_command: server create-backup
|
||||||
restore:
|
restore:
|
||||||
|
|||||||
Reference in New Issue
Block a user