1package attestation 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. See License.txt in the project root for license information. 5// 6// Code generated by Microsoft (R) AutoRest Code Generator. 7// Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9import ( 10 "context" 11 "github.com/Azure/go-autorest/autorest" 12 "github.com/Azure/go-autorest/autorest/azure" 13 "github.com/Azure/go-autorest/tracing" 14 "net/http" 15) 16 17// PolicyCertificatesClient is the describes the interface for the per-tenant enclave service. 18type PolicyCertificatesClient struct { 19 BaseClient 20} 21 22// NewPolicyCertificatesClient creates an instance of the PolicyCertificatesClient client. 23func NewPolicyCertificatesClient() PolicyCertificatesClient { 24 return PolicyCertificatesClient{New()} 25} 26 27// Add sends the add request. 28// Parameters: 29// tenantBaseURL - the tenant name, for example https://mytenant.attest.azure.net. 30// policyCertificateToAdd - an RFC7519 JSON Web Token containing a claim named "maa-policyCertificate" whose 31// value is an RFC7517 JSON Web Key which specifies a new key to add. The RFC7519 JWT must be signed with one 32// of the existing signing certificates 33func (client PolicyCertificatesClient) Add(ctx context.Context, tenantBaseURL string, policyCertificateToAdd string) (result SetObject, err error) { 34 if tracing.IsEnabled() { 35 ctx = tracing.StartSpan(ctx, fqdn+"/PolicyCertificatesClient.Add") 36 defer func() { 37 sc := -1 38 if result.Response.Response != nil { 39 sc = result.Response.Response.StatusCode 40 } 41 tracing.EndSpan(ctx, sc, err) 42 }() 43 } 44 req, err := client.AddPreparer(ctx, tenantBaseURL, policyCertificateToAdd) 45 if err != nil { 46 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Add", nil, "Failure preparing request") 47 return 48 } 49 50 resp, err := client.AddSender(req) 51 if err != nil { 52 result.Response = autorest.Response{Response: resp} 53 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Add", resp, "Failure sending request") 54 return 55 } 56 57 result, err = client.AddResponder(resp) 58 if err != nil { 59 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Add", resp, "Failure responding to request") 60 return 61 } 62 63 return 64} 65 66// AddPreparer prepares the Add request. 67func (client PolicyCertificatesClient) AddPreparer(ctx context.Context, tenantBaseURL string, policyCertificateToAdd string) (*http.Request, error) { 68 urlParameters := map[string]interface{}{ 69 "tenantBaseUrl": tenantBaseURL, 70 } 71 72 const APIVersion = "2018-09-01-preview" 73 queryParameters := map[string]interface{}{ 74 "api-version": APIVersion, 75 } 76 77 preparer := autorest.CreatePreparer( 78 autorest.AsContentType("application/json; charset=utf-8"), 79 autorest.AsPut(), 80 autorest.WithCustomBaseURL("{tenantBaseUrl}", urlParameters), 81 autorest.WithPath("/operations/policy/certificates"), 82 autorest.WithJSON(policyCertificateToAdd), 83 autorest.WithQueryParameters(queryParameters)) 84 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 85} 86 87// AddSender sends the Add request. The method will close the 88// http.Response Body if it receives an error. 89func (client PolicyCertificatesClient) AddSender(req *http.Request) (*http.Response, error) { 90 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 91} 92 93// AddResponder handles the response to the Add request. The method always 94// closes the http.Response Body. 95func (client PolicyCertificatesClient) AddResponder(resp *http.Response) (result SetObject, err error) { 96 err = autorest.Respond( 97 resp, 98 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest, http.StatusUnauthorized), 99 autorest.ByUnmarshallingJSON(&result.Value), 100 autorest.ByClosing()) 101 result.Response = autorest.Response{Response: resp} 102 return 103} 104 105// Get sends the get request. 106// Parameters: 107// tenantBaseURL - the tenant name, for example https://mytenant.attest.azure.net. 108func (client PolicyCertificatesClient) Get(ctx context.Context, tenantBaseURL string) (result SetObject, err error) { 109 if tracing.IsEnabled() { 110 ctx = tracing.StartSpan(ctx, fqdn+"/PolicyCertificatesClient.Get") 111 defer func() { 112 sc := -1 113 if result.Response.Response != nil { 114 sc = result.Response.Response.StatusCode 115 } 116 tracing.EndSpan(ctx, sc, err) 117 }() 118 } 119 req, err := client.GetPreparer(ctx, tenantBaseURL) 120 if err != nil { 121 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Get", nil, "Failure preparing request") 122 return 123 } 124 125 resp, err := client.GetSender(req) 126 if err != nil { 127 result.Response = autorest.Response{Response: resp} 128 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Get", resp, "Failure sending request") 129 return 130 } 131 132 result, err = client.GetResponder(resp) 133 if err != nil { 134 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Get", resp, "Failure responding to request") 135 return 136 } 137 138 return 139} 140 141// GetPreparer prepares the Get request. 142func (client PolicyCertificatesClient) GetPreparer(ctx context.Context, tenantBaseURL string) (*http.Request, error) { 143 urlParameters := map[string]interface{}{ 144 "tenantBaseUrl": tenantBaseURL, 145 } 146 147 const APIVersion = "2018-09-01-preview" 148 queryParameters := map[string]interface{}{ 149 "api-version": APIVersion, 150 } 151 152 preparer := autorest.CreatePreparer( 153 autorest.AsGet(), 154 autorest.WithCustomBaseURL("{tenantBaseUrl}", urlParameters), 155 autorest.WithPath("/operations/policy/certificates"), 156 autorest.WithQueryParameters(queryParameters)) 157 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 158} 159 160// GetSender sends the Get request. The method will close the 161// http.Response Body if it receives an error. 162func (client PolicyCertificatesClient) GetSender(req *http.Request) (*http.Response, error) { 163 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 164} 165 166// GetResponder handles the response to the Get request. The method always 167// closes the http.Response Body. 168func (client PolicyCertificatesClient) GetResponder(resp *http.Response) (result SetObject, err error) { 169 err = autorest.Respond( 170 resp, 171 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest, http.StatusUnauthorized), 172 autorest.ByUnmarshallingJSON(&result.Value), 173 autorest.ByClosing()) 174 result.Response = autorest.Response{Response: resp} 175 return 176} 177 178// Remove sends the remove request. 179// Parameters: 180// tenantBaseURL - the tenant name, for example https://mytenant.attest.azure.net. 181// policyCertificateToRemove - an RFC7519 JSON Web Token containing a claim named "maa-policyCertificate" whose 182// value is an RFC7517 JSON Web Key which specifies a new key to update. The RFC7519 JWT must be signed with 183// one of the existing signing certificates 184func (client PolicyCertificatesClient) Remove(ctx context.Context, tenantBaseURL string, policyCertificateToRemove string) (result SetObject, err error) { 185 if tracing.IsEnabled() { 186 ctx = tracing.StartSpan(ctx, fqdn+"/PolicyCertificatesClient.Remove") 187 defer func() { 188 sc := -1 189 if result.Response.Response != nil { 190 sc = result.Response.Response.StatusCode 191 } 192 tracing.EndSpan(ctx, sc, err) 193 }() 194 } 195 req, err := client.RemovePreparer(ctx, tenantBaseURL, policyCertificateToRemove) 196 if err != nil { 197 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Remove", nil, "Failure preparing request") 198 return 199 } 200 201 resp, err := client.RemoveSender(req) 202 if err != nil { 203 result.Response = autorest.Response{Response: resp} 204 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Remove", resp, "Failure sending request") 205 return 206 } 207 208 result, err = client.RemoveResponder(resp) 209 if err != nil { 210 err = autorest.NewErrorWithError(err, "attestation.PolicyCertificatesClient", "Remove", resp, "Failure responding to request") 211 return 212 } 213 214 return 215} 216 217// RemovePreparer prepares the Remove request. 218func (client PolicyCertificatesClient) RemovePreparer(ctx context.Context, tenantBaseURL string, policyCertificateToRemove string) (*http.Request, error) { 219 urlParameters := map[string]interface{}{ 220 "tenantBaseUrl": tenantBaseURL, 221 } 222 223 const APIVersion = "2018-09-01-preview" 224 queryParameters := map[string]interface{}{ 225 "api-version": APIVersion, 226 } 227 228 preparer := autorest.CreatePreparer( 229 autorest.AsContentType("application/json; charset=utf-8"), 230 autorest.AsPost(), 231 autorest.WithCustomBaseURL("{tenantBaseUrl}", urlParameters), 232 autorest.WithPath("/operations/policy/certificates"), 233 autorest.WithJSON(policyCertificateToRemove), 234 autorest.WithQueryParameters(queryParameters)) 235 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 236} 237 238// RemoveSender sends the Remove request. The method will close the 239// http.Response Body if it receives an error. 240func (client PolicyCertificatesClient) RemoveSender(req *http.Request) (*http.Response, error) { 241 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 242} 243 244// RemoveResponder handles the response to the Remove request. The method always 245// closes the http.Response Body. 246func (client PolicyCertificatesClient) RemoveResponder(resp *http.Response) (result SetObject, err error) { 247 err = autorest.Respond( 248 resp, 249 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest, http.StatusUnauthorized), 250 autorest.ByUnmarshallingJSON(&result.Value), 251 autorest.ByClosing()) 252 result.Response = autorest.Response{Response: resp} 253 return 254} 255