diff --git a/OMICRON_VERSION b/OMICRON_VERSION index d6b430e711..1c7645f60b 100644 --- a/OMICRON_VERSION +++ b/OMICRON_VERSION @@ -1 +1 @@ -f2e6237e57a36873fc748b6ecd9e42b8ef208c88 +d1fc7da4c01c4e7b17c7b3319df712390fae68fa diff --git a/app/forms/instance-create.tsx b/app/forms/instance-create.tsx index 604deae583..20ac80f22e 100644 --- a/app/forms/instance-create.tsx +++ b/app/forms/instance-create.tsx @@ -22,6 +22,7 @@ import { import { GiB } from '@oxide/util' import type { DiskTableItem } from 'app/components/form' +import { CheckboxField } from 'app/components/form' import { FullPageForm } from 'app/components/form' import { DiskSizeField } from 'app/components/form' import { @@ -72,6 +73,8 @@ const values: InstanceCreateInput = { * We actually don't care about this value outside of that. */ networkInterfaceType: 'default', + + start: true, } export default function CreateInstanceForm({ @@ -166,6 +169,7 @@ export default function CreateInstanceForm({ ...values.disks, ], externalIps: [{ type: 'ephemeral' }], + start: values.start, }, }) }) @@ -176,6 +180,9 @@ export default function CreateInstanceForm({ > + + Start Instance + diff --git a/libs/api/__generated__/Api.ts b/libs/api/__generated__/Api.ts index 9625eed032..50e87fbb90 100644 --- a/libs/api/__generated__/Api.ts +++ b/libs/api/__generated__/Api.ts @@ -671,6 +671,10 @@ export type InstanceCreate = { * The network interfaces to be created for this instance. */ networkInterfaces?: InstanceNetworkInterfaceAttachment | null + /** + * Should this instance be started upon creation; true by default. + */ + start?: boolean | null /** * User data for instance initialization systems (such as cloud-init). Must be a Base64-encoded string, as specified in RFC 4648 ยง 4 (+ and / characters with padding). Maximum 32 KiB unencoded data. */ @@ -2298,10 +2302,6 @@ export interface DeviceAuthConfirmParams {} export interface DeviceAccessTokenParams {} -export interface GlobalPolicyViewParams {} - -export interface GlobalPolicyUpdateParams {} - export interface RackListParams { limit?: number | null pageToken?: string | null @@ -2922,6 +2922,10 @@ export interface SiloIdentityProviderViewParams { siloName: Name } +export interface SystemPolicyViewParams {} + +export interface SystemPolicyUpdateParams {} + export interface SystemUserListParams { limit?: number | null pageToken?: string | null @@ -3158,31 +3162,6 @@ export class Api extends HttpClient { ...params, }), - /** - * Fetch the top-level IAM policy - */ - globalPolicyView: (query: GlobalPolicyViewParams, params: RequestParams = {}) => - this.request({ - path: `/global/policy`, - method: 'GET', - ...params, - }), - - /** - * Update the top-level IAM policy - */ - globalPolicyUpdate: ( - query: GlobalPolicyUpdateParams, - body: FleetRolePolicy, - params: RequestParams = {} - ) => - this.request({ - path: `/global/policy`, - method: 'PUT', - body, - ...params, - }), - /** * List racks */ @@ -4672,6 +4651,31 @@ export class Api extends HttpClient { ...params, }), + /** + * Fetch the top-level IAM policy + */ + systemPolicyView: (query: SystemPolicyViewParams, params: RequestParams = {}) => + this.request({ + path: `/system/policy`, + method: 'GET', + ...params, + }), + + /** + * Update the top-level IAM policy + */ + systemPolicyUpdate: ( + query: SystemPolicyUpdateParams, + body: FleetRolePolicy, + params: RequestParams = {} + ) => + this.request({ + path: `/system/policy`, + method: 'PUT', + body, + ...params, + }), + /** * List built-in users */ diff --git a/libs/api/__generated__/OMICRON_VERSION b/libs/api/__generated__/OMICRON_VERSION index 2a005845f9..c9e163b8c9 100644 --- a/libs/api/__generated__/OMICRON_VERSION +++ b/libs/api/__generated__/OMICRON_VERSION @@ -1,2 +1,2 @@ # generated file. do not update manually. see docs/update-pinned-api.md -f2e6237e57a36873fc748b6ecd9e42b8ef208c88 +d1fc7da4c01c4e7b17c7b3319df712390fae68fa