pub trait ClientExperimentalExt {
Show 33 methods
    // Required methods
    fn probe_list(&self) -> ProbeList<'_>;
    fn probe_create(&self) -> ProbeCreate<'_>;
    fn probe_view(&self) -> ProbeView<'_>;
    fn probe_delete(&self) -> ProbeDelete<'_>;
    fn support_bundle_list(&self) -> SupportBundleList<'_>;
    fn support_bundle_create(&self) -> SupportBundleCreate<'_>;
    fn support_bundle_view(&self) -> SupportBundleView<'_>;
    fn support_bundle_update(&self) -> SupportBundleUpdate<'_>;
    fn support_bundle_delete(&self) -> SupportBundleDelete<'_>;
    fn support_bundle_download(&self) -> SupportBundleDownload<'_>;
    fn support_bundle_head(&self) -> SupportBundleHead<'_>;
    fn support_bundle_download_file(&self) -> SupportBundleDownloadFile<'_>;
    fn support_bundle_head_file(&self) -> SupportBundleHeadFile<'_>;
    fn support_bundle_index(&self) -> SupportBundleIndex<'_>;
    fn affinity_group_list(&self) -> AffinityGroupList<'_>;
    fn affinity_group_create(&self) -> AffinityGroupCreate<'_>;
    fn affinity_group_view(&self) -> AffinityGroupView<'_>;
    fn affinity_group_update(&self) -> AffinityGroupUpdate<'_>;
    fn affinity_group_delete(&self) -> AffinityGroupDelete<'_>;
    fn affinity_group_member_list(&self) -> AffinityGroupMemberList<'_>;
    fn affinity_group_member_instance_view(
        &self,
    ) -> AffinityGroupMemberInstanceView<'_>;
    fn affinity_group_member_instance_add(
        &self,
    ) -> AffinityGroupMemberInstanceAdd<'_>;
    fn affinity_group_member_instance_delete(
        &self,
    ) -> AffinityGroupMemberInstanceDelete<'_>;
    fn instance_affinity_group_list(&self) -> InstanceAffinityGroupList<'_>;
    fn system_update_put_repository(&self) -> SystemUpdatePutRepository<'_>;
    fn system_update_get_repository(&self) -> SystemUpdateGetRepository<'_>;
    fn target_release_view(&self) -> TargetReleaseView<'_>;
    fn target_release_update(&self) -> TargetReleaseUpdate<'_>;
    fn system_update_trust_root_list(&self) -> SystemUpdateTrustRootList<'_>;
    fn system_update_trust_root_create(&self) -> SystemUpdateTrustRootCreate<'_>;
    fn system_update_trust_root_view(&self) -> SystemUpdateTrustRootView<'_>;
    fn system_update_trust_root_delete(&self) -> SystemUpdateTrustRootDelete<'_>;
    fn timeseries_query(&self) -> TimeseriesQuery<'_>;
}Expand description
Experimental, unstable interfaces, primarily for use by Oxide personnel
Required Methods§
Sourcefn probe_list(&self) -> ProbeList<'_>
 
fn probe_list(&self) -> ProbeList<'_>
List instrumentation probes
Sends a GET request to /experimental/v1/probes
Arguments:
- limit: Maximum number of items returned by a single call
- page_token: Token returned by previous call to retrieve the subsequent page
- project: Name or ID of the project
- sort_by
let response = client.probe_list()
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .send()
   .await;Sourcefn probe_create(&self) -> ProbeCreate<'_>
 
fn probe_create(&self) -> ProbeCreate<'_>
Create instrumentation probe
Sends a POST request to /experimental/v1/probes
Arguments:
- project: Name or ID of the project
- body
let response = client.probe_create()
   .project(project)
   .body(body)
   .send()
   .await;Sourcefn probe_view(&self) -> ProbeView<'_>
 
fn probe_view(&self) -> ProbeView<'_>
View instrumentation probe
Sends a GET request to /experimental/v1/probes/{probe}
Arguments:
- probe: Name or ID of the probe
- project: Name or ID of the project
let response = client.probe_view()
   .probe(probe)
   .project(project)
   .send()
   .await;Sourcefn probe_delete(&self) -> ProbeDelete<'_>
 
fn probe_delete(&self) -> ProbeDelete<'_>
Delete instrumentation probe
Sends a DELETE request to /experimental/v1/probes/{probe}
Arguments:
- probe: Name or ID of the probe
- project: Name or ID of the project
let response = client.probe_delete()
   .probe(probe)
   .project(project)
   .send()
   .await;Sourcefn support_bundle_list(&self) -> SupportBundleList<'_>
 
fn support_bundle_list(&self) -> SupportBundleList<'_>
List all support bundles
Sends a GET request to /experimental/v1/system/support-bundles
Arguments:
- limit: Maximum number of items returned by a single call
- page_token: Token returned by previous call to retrieve the subsequent page
- sort_by
let response = client.support_bundle_list()
   .limit(limit)
   .page_token(page_token)
   .sort_by(sort_by)
   .send()
   .await;Sourcefn support_bundle_create(&self) -> SupportBundleCreate<'_>
 
fn support_bundle_create(&self) -> SupportBundleCreate<'_>
Create a new support bundle
Sends a POST request to /experimental/v1/system/support-bundles
let response = client.support_bundle_create()
   .body(body)
   .send()
   .await;Sourcefn support_bundle_view(&self) -> SupportBundleView<'_>
 
fn support_bundle_view(&self) -> SupportBundleView<'_>
View a support bundle
Sends a GET request to
/experimental/v1/system/support-bundles/{bundle_id}
Arguments:
- bundle_id: ID of the support bundle
let response = client.support_bundle_view()
   .bundle_id(bundle_id)
   .send()
   .await;Sourcefn support_bundle_update(&self) -> SupportBundleUpdate<'_>
 
fn support_bundle_update(&self) -> SupportBundleUpdate<'_>
Update a support bundle
Sends a PUT request to
/experimental/v1/system/support-bundles/{bundle_id}
Arguments:
- bundle_id: ID of the support bundle
- body
let response = client.support_bundle_update()
   .bundle_id(bundle_id)
   .body(body)
   .send()
   .await;Sourcefn support_bundle_delete(&self) -> SupportBundleDelete<'_>
 
fn support_bundle_delete(&self) -> SupportBundleDelete<'_>
Delete an existing support bundle
May also be used to cancel a support bundle which is currently being collected, or to remove metadata for a support bundle that has failed.
Sends a DELETE request to
/experimental/v1/system/support-bundles/{bundle_id}
Arguments:
- bundle_id: ID of the support bundle
let response = client.support_bundle_delete()
   .bundle_id(bundle_id)
   .send()
   .await;Sourcefn support_bundle_download(&self) -> SupportBundleDownload<'_>
 
fn support_bundle_download(&self) -> SupportBundleDownload<'_>
Download the contents of a support bundle
Sends a GET request to
/experimental/v1/system/support-bundles/{bundle_id}/download
Arguments:
- bundle_id: ID of the support bundle
- range: A request to access a portion of the resource, such as- bytes=0-499
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range
let response = client.support_bundle_download()
   .bundle_id(bundle_id)
   .range(range)
   .send()
   .await;Sourcefn support_bundle_head(&self) -> SupportBundleHead<'_>
 
fn support_bundle_head(&self) -> SupportBundleHead<'_>
Download the metadata of a support bundle
Sends a HEAD request to
/experimental/v1/system/support-bundles/{bundle_id}/download
Arguments:
- bundle_id: ID of the support bundle
- range: A request to access a portion of the resource, such as- bytes=0-499
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range
let response = client.support_bundle_head()
   .bundle_id(bundle_id)
   .range(range)
   .send()
   .await;Sourcefn support_bundle_download_file(&self) -> SupportBundleDownloadFile<'_>
 
fn support_bundle_download_file(&self) -> SupportBundleDownloadFile<'_>
Download a file within a support bundle
Sends a GET request to
/experimental/v1/system/support-bundles/{bundle_id}/download/{file}
Arguments:
- bundle_id: ID of the support bundle
- file: The file within the bundle to download
- range: A request to access a portion of the resource, such as- bytes=0-499
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range
let response = client.support_bundle_download_file()
   .bundle_id(bundle_id)
   .file(file)
   .range(range)
   .send()
   .await;Sourcefn support_bundle_head_file(&self) -> SupportBundleHeadFile<'_>
 
fn support_bundle_head_file(&self) -> SupportBundleHeadFile<'_>
Download the metadata of a file within the support bundle
Sends a HEAD request to
/experimental/v1/system/support-bundles/{bundle_id}/download/{file}
Arguments:
- bundle_id: ID of the support bundle
- file: The file within the bundle to download
- range: A request to access a portion of the resource, such as- bytes=0-499
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range
let response = client.support_bundle_head_file()
   .bundle_id(bundle_id)
   .file(file)
   .range(range)
   .send()
   .await;Sourcefn support_bundle_index(&self) -> SupportBundleIndex<'_>
 
fn support_bundle_index(&self) -> SupportBundleIndex<'_>
Download the index of a support bundle
Sends a GET request to
/experimental/v1/system/support-bundles/{bundle_id}/index
Arguments:
- bundle_id: ID of the support bundle
- range: A request to access a portion of the resource, such as- bytes=0-499
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range
let response = client.support_bundle_index()
   .bundle_id(bundle_id)
   .range(range)
   .send()
   .await;Sourcefn affinity_group_list(&self) -> AffinityGroupList<'_>
 
fn affinity_group_list(&self) -> AffinityGroupList<'_>
List affinity groups
Sends a GET request to /v1/affinity-groups
Arguments:
- limit: Maximum number of items returned by a single call
- page_token: Token returned by previous call to retrieve the subsequent page
- project: Name or ID of the project
- sort_by
let response = client.affinity_group_list()
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .send()
   .await;Sourcefn affinity_group_create(&self) -> AffinityGroupCreate<'_>
 
fn affinity_group_create(&self) -> AffinityGroupCreate<'_>
Create affinity group
Sends a POST request to /v1/affinity-groups
Arguments:
- project: Name or ID of the project
- body
let response = client.affinity_group_create()
   .project(project)
   .body(body)
   .send()
   .await;Sourcefn affinity_group_view(&self) -> AffinityGroupView<'_>
 
fn affinity_group_view(&self) -> AffinityGroupView<'_>
Fetch affinity group
Sends a GET request to /v1/affinity-groups/{affinity_group}
Arguments:
- affinity_group: Name or ID of the affinity group
- project: Name or ID of the project
let response = client.affinity_group_view()
   .affinity_group(affinity_group)
   .project(project)
   .send()
   .await;Sourcefn affinity_group_update(&self) -> AffinityGroupUpdate<'_>
 
fn affinity_group_update(&self) -> AffinityGroupUpdate<'_>
Update affinity group
Sends a PUT request to /v1/affinity-groups/{affinity_group}
Arguments:
- affinity_group: Name or ID of the affinity group
- project: Name or ID of the project
- body
let response = client.affinity_group_update()
   .affinity_group(affinity_group)
   .project(project)
   .body(body)
   .send()
   .await;Sourcefn affinity_group_delete(&self) -> AffinityGroupDelete<'_>
 
fn affinity_group_delete(&self) -> AffinityGroupDelete<'_>
Delete affinity group
Sends a DELETE request to /v1/affinity-groups/{affinity_group}
Arguments:
- affinity_group: Name or ID of the affinity group
- project: Name or ID of the project
let response = client.affinity_group_delete()
   .affinity_group(affinity_group)
   .project(project)
   .send()
   .await;Sourcefn affinity_group_member_list(&self) -> AffinityGroupMemberList<'_>
 
fn affinity_group_member_list(&self) -> AffinityGroupMemberList<'_>
List affinity group members
Sends a GET request to /v1/affinity-groups/{affinity_group}/members
Arguments:
- affinity_group: Name or ID of the affinity group
- limit: Maximum number of items returned by a single call
- page_token: Token returned by previous call to retrieve the subsequent page
- project: Name or ID of the project
- sort_by
let response = client.affinity_group_member_list()
   .affinity_group(affinity_group)
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .send()
   .await;Sourcefn affinity_group_member_instance_view(
    &self,
) -> AffinityGroupMemberInstanceView<'_>
 
fn affinity_group_member_instance_view( &self, ) -> AffinityGroupMemberInstanceView<'_>
Fetch affinity group member
Sends a GET request to
/v1/affinity-groups/{affinity_group}/members/instance/{instance}
Arguments:
- affinity_group
- instance
- project: Name or ID of the project
let response = client.affinity_group_member_instance_view()
   .affinity_group(affinity_group)
   .instance(instance)
   .project(project)
   .send()
   .await;Sourcefn affinity_group_member_instance_add(
    &self,
) -> AffinityGroupMemberInstanceAdd<'_>
 
fn affinity_group_member_instance_add( &self, ) -> AffinityGroupMemberInstanceAdd<'_>
Add member to affinity group
Sends a POST request to
/v1/affinity-groups/{affinity_group}/members/instance/{instance}
Arguments:
- affinity_group
- instance
- project: Name or ID of the project
let response = client.affinity_group_member_instance_add()
   .affinity_group(affinity_group)
   .instance(instance)
   .project(project)
   .send()
   .await;Sourcefn affinity_group_member_instance_delete(
    &self,
) -> AffinityGroupMemberInstanceDelete<'_>
 
fn affinity_group_member_instance_delete( &self, ) -> AffinityGroupMemberInstanceDelete<'_>
Remove member from affinity group
Sends a DELETE request to
/v1/affinity-groups/{affinity_group}/members/instance/{instance}
Arguments:
- affinity_group
- instance
- project: Name or ID of the project
let response = client.affinity_group_member_instance_delete()
   .affinity_group(affinity_group)
   .instance(instance)
   .project(project)
   .send()
   .await;Sourcefn instance_affinity_group_list(&self) -> InstanceAffinityGroupList<'_>
 
fn instance_affinity_group_list(&self) -> InstanceAffinityGroupList<'_>
List affinity groups containing instance
Sends a GET request to /v1/instances/{instance}/affinity-groups
Arguments:
- instance: Name or ID of the instance
- limit: Maximum number of items returned by a single call
- page_token: Token returned by previous call to retrieve the subsequent page
- project: Name or ID of the project
- sort_by
let response = client.instance_affinity_group_list()
   .instance(instance)
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .send()
   .await;Sourcefn system_update_put_repository(&self) -> SystemUpdatePutRepository<'_>
 
fn system_update_put_repository(&self) -> SystemUpdatePutRepository<'_>
Upload system release repository
System release repositories are verified by the updates trust store.
Sends a PUT request to /v1/system/update/repository
Arguments:
- file_name: The name of the uploaded file.
- body
let response = client.system_update_put_repository()
   .file_name(file_name)
   .body(body)
   .send()
   .await;Sourcefn system_update_get_repository(&self) -> SystemUpdateGetRepository<'_>
 
fn system_update_get_repository(&self) -> SystemUpdateGetRepository<'_>
Fetch system release repository description by version
Sends a GET request to /v1/system/update/repository/{system_version}
Arguments:
- system_version: The version to get.
let response = client.system_update_get_repository()
   .system_version(system_version)
   .send()
   .await;Sourcefn target_release_view(&self) -> TargetReleaseView<'_>
 
fn target_release_view(&self) -> TargetReleaseView<'_>
Get the current target release of the rack’s system software
This may not correspond to the actual software running on the rack at the time of request; it is instead the release that the rack reconfigurator should be moving towards as a goal state. After some number of planning and execution phases, the software running on the rack should eventually correspond to the release described here.
Sends a GET request to /v1/system/update/target-release
let response = client.target_release_view()
   .send()
   .await;Sourcefn target_release_update(&self) -> TargetReleaseUpdate<'_>
 
fn target_release_update(&self) -> TargetReleaseUpdate<'_>
Set the current target release of the rack’s system software
The rack reconfigurator will treat the software specified here as a goal state for the rack’s software, and attempt to asynchronously update to that release.
Sends a PUT request to /v1/system/update/target-release
let response = client.target_release_update()
   .body(body)
   .send()
   .await;Sourcefn system_update_trust_root_list(&self) -> SystemUpdateTrustRootList<'_>
 
fn system_update_trust_root_list(&self) -> SystemUpdateTrustRootList<'_>
List root roles in the updates trust store
A root role is a JSON document describing the cryptographic keys that are trusted to sign system release repositories, as described by The Update Framework. Uploading a repository requires its metadata to be signed by keys trusted by the trust store.
Sends a GET request to /v1/system/update/trust-roots
Arguments:
- limit: Maximum number of items returned by a single call
- page_token: Token returned by previous call to retrieve the subsequent page
- sort_by
let response = client.system_update_trust_root_list()
   .limit(limit)
   .page_token(page_token)
   .sort_by(sort_by)
   .send()
   .await;Sourcefn system_update_trust_root_create(&self) -> SystemUpdateTrustRootCreate<'_>
 
fn system_update_trust_root_create(&self) -> SystemUpdateTrustRootCreate<'_>
Add trusted root role to updates trust store
Sends a POST request to /v1/system/update/trust-roots
let response = client.system_update_trust_root_create()
   .body(body)
   .send()
   .await;Sourcefn system_update_trust_root_view(&self) -> SystemUpdateTrustRootView<'_>
 
fn system_update_trust_root_view(&self) -> SystemUpdateTrustRootView<'_>
Fetch trusted root role
Sends a GET request to /v1/system/update/trust-roots/{trust_root_id}
Arguments:
- trust_root_id: ID of the trust root
let response = client.system_update_trust_root_view()
   .trust_root_id(trust_root_id)
   .send()
   .await;Sourcefn system_update_trust_root_delete(&self) -> SystemUpdateTrustRootDelete<'_>
 
fn system_update_trust_root_delete(&self) -> SystemUpdateTrustRootDelete<'_>
Delete trusted root role
Note that this method does not currently check for any uploaded system release repositories that would become untrusted after deleting the root role.
Sends a DELETE request to
/v1/system/update/trust-roots/{trust_root_id}
Arguments:
- trust_root_id: ID of the trust root
let response = client.system_update_trust_root_delete()
   .trust_root_id(trust_root_id)
   .send()
   .await;Sourcefn timeseries_query(&self) -> TimeseriesQuery<'_>
 
fn timeseries_query(&self) -> TimeseriesQuery<'_>
Run project-scoped timeseries query
Queries are written in OxQL. Project must be specified by name or ID in URL query parameter. The OxQL query will only return timeseries data from the specified project.
Sends a POST request to /v1/timeseries/query
Arguments:
- project: Name or ID of the project
- body
let response = client.timeseries_query()
   .project(project)
   .body(body)
   .send()
   .await;