#[non_exhaustive]pub struct VerifyAttestationRequest {
pub challenge: String,
pub gcp_credentials: Option<GcpCredentials>,
pub tpm_attestation: Option<TpmAttestation>,
pub confidential_space_info: Option<ConfidentialSpaceInfo>,
pub token_options: Option<TokenOptions>,
pub attester: String,
pub tee_attestation: Option<TeeAttestation>,
/* private fields */
}Expand description
A request for an attestation token, providing all the necessary information needed for this service to verify the platform state of the requestor.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.challenge: StringRequired. The name of the Challenge whose nonce was used to generate the
attestation, in the format projects/*/locations/*/challenges/*. The
provided Challenge will be consumed, and cannot be used again.
gcp_credentials: Option<GcpCredentials>Optional. Credentials used to populate the “emails” claim in the claims_token.
tpm_attestation: Option<TpmAttestation>Required. The TPM-specific data provided by the attesting platform, used to populate any of the claims regarding platform state.
confidential_space_info: Option<ConfidentialSpaceInfo>Optional. Optional information related to the Confidential Space TEE.
token_options: Option<TokenOptions>Optional. A collection of optional, workload-specified claims that modify the token output.
attester: StringOptional. An optional indicator of the attester, only applies to certain products.
tee_attestation: Option<TeeAttestation>An optional tee attestation report, used to populate hardware rooted claims.
Implementations§
Source§impl VerifyAttestationRequest
impl VerifyAttestationRequest
pub fn new() -> Self
Sourcepub fn set_challenge<T: Into<String>>(self, v: T) -> Self
pub fn set_challenge<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_gcp_credentials<T>(self, v: T) -> Selfwhere
T: Into<GcpCredentials>,
pub fn set_gcp_credentials<T>(self, v: T) -> Selfwhere
T: Into<GcpCredentials>,
Sets the value of gcp_credentials.
§Example
use google_cloud_confidentialcomputing_v1::model::GcpCredentials;
let x = VerifyAttestationRequest::new().set_gcp_credentials(GcpCredentials::default()/* use setters */);Sourcepub fn set_or_clear_gcp_credentials<T>(self, v: Option<T>) -> Selfwhere
T: Into<GcpCredentials>,
pub fn set_or_clear_gcp_credentials<T>(self, v: Option<T>) -> Selfwhere
T: Into<GcpCredentials>,
Sets or clears the value of gcp_credentials.
§Example
use google_cloud_confidentialcomputing_v1::model::GcpCredentials;
let x = VerifyAttestationRequest::new().set_or_clear_gcp_credentials(Some(GcpCredentials::default()/* use setters */));
let x = VerifyAttestationRequest::new().set_or_clear_gcp_credentials(None::<GcpCredentials>);Sourcepub fn set_tpm_attestation<T>(self, v: T) -> Selfwhere
T: Into<TpmAttestation>,
pub fn set_tpm_attestation<T>(self, v: T) -> Selfwhere
T: Into<TpmAttestation>,
Sets the value of tpm_attestation.
§Example
use google_cloud_confidentialcomputing_v1::model::TpmAttestation;
let x = VerifyAttestationRequest::new().set_tpm_attestation(TpmAttestation::default()/* use setters */);Sourcepub fn set_or_clear_tpm_attestation<T>(self, v: Option<T>) -> Selfwhere
T: Into<TpmAttestation>,
pub fn set_or_clear_tpm_attestation<T>(self, v: Option<T>) -> Selfwhere
T: Into<TpmAttestation>,
Sets or clears the value of tpm_attestation.
§Example
use google_cloud_confidentialcomputing_v1::model::TpmAttestation;
let x = VerifyAttestationRequest::new().set_or_clear_tpm_attestation(Some(TpmAttestation::default()/* use setters */));
let x = VerifyAttestationRequest::new().set_or_clear_tpm_attestation(None::<TpmAttestation>);Sourcepub fn set_confidential_space_info<T>(self, v: T) -> Selfwhere
T: Into<ConfidentialSpaceInfo>,
pub fn set_confidential_space_info<T>(self, v: T) -> Selfwhere
T: Into<ConfidentialSpaceInfo>,
Sets the value of confidential_space_info.
§Example
use google_cloud_confidentialcomputing_v1::model::ConfidentialSpaceInfo;
let x = VerifyAttestationRequest::new().set_confidential_space_info(ConfidentialSpaceInfo::default()/* use setters */);Sourcepub fn set_or_clear_confidential_space_info<T>(self, v: Option<T>) -> Selfwhere
T: Into<ConfidentialSpaceInfo>,
pub fn set_or_clear_confidential_space_info<T>(self, v: Option<T>) -> Selfwhere
T: Into<ConfidentialSpaceInfo>,
Sets or clears the value of confidential_space_info.
§Example
use google_cloud_confidentialcomputing_v1::model::ConfidentialSpaceInfo;
let x = VerifyAttestationRequest::new().set_or_clear_confidential_space_info(Some(ConfidentialSpaceInfo::default()/* use setters */));
let x = VerifyAttestationRequest::new().set_or_clear_confidential_space_info(None::<ConfidentialSpaceInfo>);Sourcepub fn set_token_options<T>(self, v: T) -> Selfwhere
T: Into<TokenOptions>,
pub fn set_token_options<T>(self, v: T) -> Selfwhere
T: Into<TokenOptions>,
Sets the value of token_options.
§Example
use google_cloud_confidentialcomputing_v1::model::TokenOptions;
let x = VerifyAttestationRequest::new().set_token_options(TokenOptions::default()/* use setters */);Sourcepub fn set_or_clear_token_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<TokenOptions>,
pub fn set_or_clear_token_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<TokenOptions>,
Sets or clears the value of token_options.
§Example
use google_cloud_confidentialcomputing_v1::model::TokenOptions;
let x = VerifyAttestationRequest::new().set_or_clear_token_options(Some(TokenOptions::default()/* use setters */));
let x = VerifyAttestationRequest::new().set_or_clear_token_options(None::<TokenOptions>);Sourcepub fn set_attester<T: Into<String>>(self, v: T) -> Self
pub fn set_attester<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_tee_attestation<T: Into<Option<TeeAttestation>>>(self, v: T) -> Self
pub fn set_tee_attestation<T: Into<Option<TeeAttestation>>>(self, v: T) -> Self
Sets the value of tee_attestation.
Note that all the setters affecting tee_attestation are mutually
exclusive.
§Example
use google_cloud_confidentialcomputing_v1::model::TdxCcelAttestation;
let x = VerifyAttestationRequest::new().set_tee_attestation(Some(
google_cloud_confidentialcomputing_v1::model::verify_attestation_request::TeeAttestation::TdCcel(TdxCcelAttestation::default().into())));Sourcepub fn td_ccel(&self) -> Option<&Box<TdxCcelAttestation>>
pub fn td_ccel(&self) -> Option<&Box<TdxCcelAttestation>>
The value of tee_attestation
if it holds a TdCcel, None if the field is not set or
holds a different branch.
Sourcepub fn set_td_ccel<T: Into<Box<TdxCcelAttestation>>>(self, v: T) -> Self
pub fn set_td_ccel<T: Into<Box<TdxCcelAttestation>>>(self, v: T) -> Self
Sets the value of tee_attestation
to hold a TdCcel.
Note that all the setters affecting tee_attestation are
mutually exclusive.
§Example
use google_cloud_confidentialcomputing_v1::model::TdxCcelAttestation;
let x = VerifyAttestationRequest::new().set_td_ccel(TdxCcelAttestation::default()/* use setters */);
assert!(x.td_ccel().is_some());
assert!(x.sev_snp_attestation().is_none());Sourcepub fn sev_snp_attestation(&self) -> Option<&Box<SevSnpAttestation>>
pub fn sev_snp_attestation(&self) -> Option<&Box<SevSnpAttestation>>
The value of tee_attestation
if it holds a SevSnpAttestation, None if the field is not set or
holds a different branch.
Sourcepub fn set_sev_snp_attestation<T: Into<Box<SevSnpAttestation>>>(
self,
v: T,
) -> Self
pub fn set_sev_snp_attestation<T: Into<Box<SevSnpAttestation>>>( self, v: T, ) -> Self
Sets the value of tee_attestation
to hold a SevSnpAttestation.
Note that all the setters affecting tee_attestation are
mutually exclusive.
§Example
use google_cloud_confidentialcomputing_v1::model::SevSnpAttestation;
let x = VerifyAttestationRequest::new().set_sev_snp_attestation(SevSnpAttestation::default()/* use setters */);
assert!(x.sev_snp_attestation().is_some());
assert!(x.td_ccel().is_none());Trait Implementations§
Source§impl Clone for VerifyAttestationRequest
impl Clone for VerifyAttestationRequest
Source§fn clone(&self) -> VerifyAttestationRequest
fn clone(&self) -> VerifyAttestationRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more