|
73 | 73 |
|
74 | 74 | @app.command()
|
75 | 75 | async def create(
|
76 |
| - payment_type: PaymentType = typer.Option(None, help=help_strings.PAYMENT_TYPE), |
77 |
| - payment_chain: Chain = typer.Option(None, help=help_strings.PAYMENT_CHAIN), |
78 |
| - hypervisor: HypervisorType = typer.Option(None, help=help_strings.HYPERVISOR), |
| 76 | + payment_type: Optional[str] = typer.Option( |
| 77 | + None, |
| 78 | + help=help_strings.PAYMENT_TYPE, |
| 79 | + callback=lambda pt: None if pt is None else PaymentType.hold if pt == "nft" else PaymentType(pt), |
| 80 | + metavar=f"[{'|'.join(PaymentType)}|nft]", |
| 81 | + ), |
| 82 | + payment_chain: Optional[Chain] = typer.Option( |
| 83 | + None, help=help_strings.PAYMENT_CHAIN, metavar=f"[{'|'.join([Chain.ETH, Chain.AVAX, Chain.BASE])}]" |
| 84 | + ), |
| 85 | + hypervisor: Optional[HypervisorType] = typer.Option(None, help=help_strings.HYPERVISOR), |
79 | 86 | name: Optional[str] = typer.Option(None, help=help_strings.INSTANCE_NAME),
|
80 |
| - rootfs: str = typer.Option(None, help=help_strings.ROOTFS), |
81 |
| - rootfs_size: int = typer.Option(None, help=help_strings.ROOTFS_SIZE), |
82 |
| - vcpus: int = typer.Option(None, help=help_strings.VCPUS), |
83 |
| - memory: int = typer.Option(None, help=help_strings.MEMORY), |
| 87 | + rootfs: Optional[str] = typer.Option(None, help=help_strings.ROOTFS), |
| 88 | + rootfs_size: Optional[int] = typer.Option(None, help=help_strings.ROOTFS_SIZE), |
| 89 | + vcpus: Optional[int] = typer.Option(None, help=help_strings.VCPUS), |
| 90 | + memory: Optional[int] = typer.Option(None, help=help_strings.MEMORY), |
84 | 91 | timeout_seconds: float = typer.Option(
|
85 | 92 | settings.DEFAULT_VM_TIMEOUT,
|
86 | 93 | help=help_strings.TIMEOUT_SECONDS,
|
@@ -136,13 +143,12 @@ def validate_ssh_pubkey_file(file: Union[str, Path]) -> Path:
|
136 | 143 | account: AccountFromPrivateKey = _load_account(private_key, private_key_file)
|
137 | 144 |
|
138 | 145 | if payment_type is None:
|
139 |
| - payment_type = PaymentType( |
140 |
| - Prompt.ask( |
141 |
| - "Which payment type do you want to use?", |
142 |
| - choices=[ptype.value for ptype in PaymentType], |
143 |
| - default=PaymentType.superfluid.value, |
144 |
| - ) |
| 146 | + payment_type = Prompt.ask( |
| 147 | + "Which payment type do you want to use?", |
| 148 | + choices=[ptype.value for ptype in PaymentType] + ["nft"], |
| 149 | + default=PaymentType.superfluid.value, |
145 | 150 | )
|
| 151 | + payment_type = PaymentType(payment_type) if payment_type != "nft" else PaymentType.hold |
146 | 152 | is_stream = payment_type != PaymentType.hold
|
147 | 153 |
|
148 | 154 | super_token_chains = get_chains_with_super_token()
|
@@ -1011,16 +1017,23 @@ async def confidential(
|
1011 | 1017 | firmware_hash: str = typer.Option(
|
1012 | 1018 | settings.DEFAULT_CONFIDENTIAL_FIRMWARE_HASH, help=help_strings.CONFIDENTIAL_FIRMWARE_HASH
|
1013 | 1019 | ),
|
1014 |
| - firmware_file: str = typer.Option(None, help=help_strings.PRIVATE_KEY), |
1015 |
| - keep_session: bool = typer.Option(None, help=help_strings.KEEP_SESSION), |
1016 |
| - vm_secret: str = typer.Option(None, help=help_strings.VM_SECRET), |
1017 |
| - payment_type: PaymentType = typer.Option(None, help=help_strings.PAYMENT_TYPE), |
1018 |
| - payment_chain: Optional[Chain] = typer.Option(None, help=help_strings.PAYMENT_CHAIN), |
| 1020 | + firmware_file: Optional[str] = typer.Option(None, help=help_strings.PRIVATE_KEY), |
| 1021 | + keep_session: Optional[bool] = typer.Option(None, help=help_strings.KEEP_SESSION), |
| 1022 | + vm_secret: Optional[str] = typer.Option(None, help=help_strings.VM_SECRET), |
| 1023 | + payment_type: Optional[str] = typer.Option( |
| 1024 | + None, |
| 1025 | + help=help_strings.PAYMENT_TYPE, |
| 1026 | + callback=lambda pt: None if pt is None else PaymentType.hold if pt == "nft" else PaymentType(pt), |
| 1027 | + metavar=f"[{'|'.join(PaymentType)}|nft]", |
| 1028 | + ), |
| 1029 | + payment_chain: Optional[Chain] = typer.Option( |
| 1030 | + None, help=help_strings.PAYMENT_CHAIN, metavar=f"[{'|'.join([Chain.ETH, Chain.AVAX, Chain.BASE])}]" |
| 1031 | + ), |
1019 | 1032 | name: Optional[str] = typer.Option(None, help=help_strings.INSTANCE_NAME),
|
1020 |
| - rootfs: str = typer.Option("ubuntu22", help=help_strings.ROOTFS), |
1021 |
| - rootfs_size: int = typer.Option(None, help=help_strings.ROOTFS_SIZE), |
1022 |
| - vcpus: int = typer.Option(None, help=help_strings.VCPUS), |
1023 |
| - memory: int = typer.Option(None, help=help_strings.MEMORY), |
| 1033 | + rootfs: Optional[str] = typer.Option(None, help=help_strings.ROOTFS), |
| 1034 | + rootfs_size: Optional[int] = typer.Option(None, help=help_strings.ROOTFS_SIZE), |
| 1035 | + vcpus: Optional[int] = typer.Option(None, help=help_strings.VCPUS), |
| 1036 | + memory: Optional[int] = typer.Option(None, help=help_strings.MEMORY), |
1024 | 1037 | timeout_seconds: float = typer.Option(
|
1025 | 1038 | settings.DEFAULT_VM_TIMEOUT,
|
1026 | 1039 | help=help_strings.TIMEOUT_SECONDS,
|
|
0 commit comments