Skip to content

Conversation

@LarryOsterman
Copy link
Member

…and return a concrete type not a pointer

Pull Request Checklist

Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:

See the detailed list in the contributing guide.

  • C++ Guidelines
  • Doxygen docs
  • Unit tests
  • No unwanted commits/changes
  • Descriptive title/description
    • PR is single purpose
    • [] Related issue listed
  • Comments in source
  • No typos
  • Update changelog
  • Not work-in-progress
  • External references or docs updated
  • Self review of PR done
  • Any breaking changes?

@LarryOsterman
Copy link
Member Author

/azp run prepare-pipelines

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LarryOsterman
Copy link
Member Author

Tagging @JeffreyRichter and @antkmsft since we were talking about this PR yesterday.

Copy link
Contributor

@ahsonkhan ahsonkhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor feedback and questions.

m_pipeline(attestationClient.m_pipeline),
m_tokenValidationOptions(attestationClient.m_tokenValidationOptions){};
m_tokenValidationOptions(attestationClient.m_tokenValidationOptions),
m_attestationSigners(attestationClient.m_attestationSigners){};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Breaking change? If so, add CL entry.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All this does is copy a member variable in the copy constructor, is that breaking?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this adding a new mandatory parameter, that wasn't there before?

- `AddIsolatedModeCertificatesOptions` becomes `AddIsolatedModeCertificateOptions`
- `RemoveIsolatedModeCertificatesOptions` becomes `RemoveIsolatedModeCertificateOptions`
- Renamed `AttestEnclaveOptions` to `AttestSgxEnclaveOptions` and `AttestOpenEnclaveOptions`.
- Split out `AttestationClient::Create` into its own factory class `AttestationClientFactory`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't we also remove RetrieveResponseValidationCollateral in the previous PR or was that always private? I don't see it being called in the CL breaking change list.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in the previous CR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean?
It was there in the beta.2 release correct, and the method no longer exists now? That's a breaking change change worth calling out in the changelog, but I don't see it listed in the beta.3 CL.

If it was added and removed during this release, then ignore my comment :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it was always private. We might want to update the docs on public API that reference the method still, because the end user can't call it:

https://github.com/Azure/azure-sdk-for-cpp/search?q=RetrieveResponseValidationCollateral

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was public for 1.0.0.beta-1, and was removed for either 1.0.0.beta-2 or 1.0.0.beta-3 (not sure which).

Could you show me the public API documentation for this method? I thought I had searched for all of them and removed them, but it's possible I missed a couple.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a couple places (I linked the GitHub search of the codebase above), here's an example:

* @note \b Note: The RetrieveResponseValidationCollateral API \b MUST be called before the
* GetAttestationPolicy API is called to retrieve the information needed to validate the
* result returned by the service.
*/
Response<Models::AttestationToken<std::string>> GetAttestationPolicy(
Models::AttestationType const& attestationType,
GetPolicyOptions const& options = GetPolicyOptions{},
Azure::Core::Context const& context = Azure::Core::Context{}) const;

@LarryOsterman
Copy link
Member Author

/azp run cpp - attestation

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LarryOsterman
Copy link
Member Author

/azp run cpp - attestation

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LarryOsterman
Copy link
Member Author

/azp run cpp - attestation

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LarryOsterman LarryOsterman enabled auto-merge (squash) May 31, 2022 23:36
LarryOsterman and others added 3 commits May 31, 2022 17:30
@LarryOsterman
Copy link
Member Author

/check-enforcer evaluate

@LarryOsterman LarryOsterman merged commit 0fd0267 into Azure:main Jun 1, 2022
@LarryOsterman LarryOsterman deleted the larryo/attestation_create_by_value branch June 1, 2022 18:34
* @param options The options to customize the client behavior.
* @return The newly created client.
*/
static AttestationAdministrationClient CreateConcrete(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove these if no longer needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants