diff --git a/profiles/latest/containerregistry/mgmt/containerregistry/models.go b/profiles/latest/containerregistry/mgmt/containerregistry/models.go index d360569dd15b..4c6f504d6f5e 100644 --- a/profiles/latest/containerregistry/mgmt/containerregistry/models.go +++ b/profiles/latest/containerregistry/mgmt/containerregistry/models.go @@ -40,6 +40,13 @@ const ( Password2 PasswordName = original.Password2 ) +type PolicyStatus = original.PolicyStatus + +const ( + Disabled PolicyStatus = original.Disabled + Enabled PolicyStatus = original.Enabled +) + type ProvisioningState = original.ProvisioningState const ( @@ -76,18 +83,25 @@ const ( SkuTierStandard SkuTier = original.SkuTierStandard ) +type TrustPolicyType = original.TrustPolicyType + +const ( + Notary TrustPolicyType = original.Notary +) + type WebhookAction = original.WebhookAction const ( - Delete WebhookAction = original.Delete - Push WebhookAction = original.Push + Delete WebhookAction = original.Delete + Push WebhookAction = original.Push + Quarantine WebhookAction = original.Quarantine ) type WebhookStatus = original.WebhookStatus const ( - Disabled WebhookStatus = original.Disabled - Enabled WebhookStatus = original.Enabled + WebhookStatusDisabled WebhookStatus = original.WebhookStatusDisabled + WebhookStatusEnabled WebhookStatus = original.WebhookStatusEnabled ) type Actor = original.Actor @@ -107,11 +121,16 @@ type OperationDisplayDefinition = original.OperationDisplayDefinition type OperationListResult = original.OperationListResult type OperationListResultIterator = original.OperationListResultIterator type OperationListResultPage = original.OperationListResultPage +type OperationMetricSpecificationDefinition = original.OperationMetricSpecificationDefinition +type OperationPropertiesDefinition = original.OperationPropertiesDefinition +type OperationServiceSpecificationDefinition = original.OperationServiceSpecificationDefinition +type QuarantinePolicy = original.QuarantinePolicy type RegenerateCredentialParameters = original.RegenerateCredentialParameters type RegistriesCreateFuture = original.RegistriesCreateFuture type RegistriesDeleteFuture = original.RegistriesDeleteFuture type RegistriesImportImageFuture = original.RegistriesImportImageFuture type RegistriesUpdateFuture = original.RegistriesUpdateFuture +type RegistriesUpdatePoliciesFuture = original.RegistriesUpdatePoliciesFuture type Registry = original.Registry type RegistryListCredentialsResult = original.RegistryListCredentialsResult type RegistryListResult = original.RegistryListResult @@ -120,6 +139,7 @@ type RegistryListResultPage = original.RegistryListResultPage type RegistryNameCheckRequest = original.RegistryNameCheckRequest type RegistryNameStatus = original.RegistryNameStatus type RegistryPassword = original.RegistryPassword +type RegistryPolicies = original.RegistryPolicies type RegistryProperties = original.RegistryProperties type RegistryPropertiesUpdateParameters = original.RegistryPropertiesUpdateParameters type RegistryUpdateParameters = original.RegistryUpdateParameters @@ -141,6 +161,7 @@ type Source = original.Source type Status = original.Status type StorageAccountProperties = original.StorageAccountProperties type Target = original.Target +type TrustPolicy = original.TrustPolicy type Webhook = original.Webhook type WebhookCreateParameters = original.WebhookCreateParameters type WebhookListResult = original.WebhookListResult @@ -170,6 +191,9 @@ func PossibleImportModeValues() []ImportMode { func PossiblePasswordNameValues() []PasswordName { return original.PossiblePasswordNameValues() } +func PossiblePolicyStatusValues() []PolicyStatus { + return original.PossiblePolicyStatusValues() +} func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } @@ -182,6 +206,9 @@ func PossibleSkuNameValues() []SkuName { func PossibleSkuTierValues() []SkuTier { return original.PossibleSkuTierValues() } +func PossibleTrustPolicyTypeValues() []TrustPolicyType { + return original.PossibleTrustPolicyTypeValues() +} func PossibleWebhookActionValues() []WebhookAction { return original.PossibleWebhookActionValues() } diff --git a/profiles/preview/containerregistry/mgmt/containerregistry/models.go b/profiles/preview/containerregistry/mgmt/containerregistry/models.go index dde7cc88062f..09fd5725ff3c 100644 --- a/profiles/preview/containerregistry/mgmt/containerregistry/models.go +++ b/profiles/preview/containerregistry/mgmt/containerregistry/models.go @@ -40,6 +40,13 @@ const ( Password2 PasswordName = original.Password2 ) +type PolicyStatus = original.PolicyStatus + +const ( + Disabled PolicyStatus = original.Disabled + Enabled PolicyStatus = original.Enabled +) + type ProvisioningState = original.ProvisioningState const ( @@ -76,18 +83,25 @@ const ( SkuTierStandard SkuTier = original.SkuTierStandard ) +type TrustPolicyType = original.TrustPolicyType + +const ( + Notary TrustPolicyType = original.Notary +) + type WebhookAction = original.WebhookAction const ( - Delete WebhookAction = original.Delete - Push WebhookAction = original.Push + Delete WebhookAction = original.Delete + Push WebhookAction = original.Push + Quarantine WebhookAction = original.Quarantine ) type WebhookStatus = original.WebhookStatus const ( - Disabled WebhookStatus = original.Disabled - Enabled WebhookStatus = original.Enabled + WebhookStatusDisabled WebhookStatus = original.WebhookStatusDisabled + WebhookStatusEnabled WebhookStatus = original.WebhookStatusEnabled ) type Actor = original.Actor @@ -107,11 +121,16 @@ type OperationDisplayDefinition = original.OperationDisplayDefinition type OperationListResult = original.OperationListResult type OperationListResultIterator = original.OperationListResultIterator type OperationListResultPage = original.OperationListResultPage +type OperationMetricSpecificationDefinition = original.OperationMetricSpecificationDefinition +type OperationPropertiesDefinition = original.OperationPropertiesDefinition +type OperationServiceSpecificationDefinition = original.OperationServiceSpecificationDefinition +type QuarantinePolicy = original.QuarantinePolicy type RegenerateCredentialParameters = original.RegenerateCredentialParameters type RegistriesCreateFuture = original.RegistriesCreateFuture type RegistriesDeleteFuture = original.RegistriesDeleteFuture type RegistriesImportImageFuture = original.RegistriesImportImageFuture type RegistriesUpdateFuture = original.RegistriesUpdateFuture +type RegistriesUpdatePoliciesFuture = original.RegistriesUpdatePoliciesFuture type Registry = original.Registry type RegistryListCredentialsResult = original.RegistryListCredentialsResult type RegistryListResult = original.RegistryListResult @@ -120,6 +139,7 @@ type RegistryListResultPage = original.RegistryListResultPage type RegistryNameCheckRequest = original.RegistryNameCheckRequest type RegistryNameStatus = original.RegistryNameStatus type RegistryPassword = original.RegistryPassword +type RegistryPolicies = original.RegistryPolicies type RegistryProperties = original.RegistryProperties type RegistryPropertiesUpdateParameters = original.RegistryPropertiesUpdateParameters type RegistryUpdateParameters = original.RegistryUpdateParameters @@ -141,6 +161,7 @@ type Source = original.Source type Status = original.Status type StorageAccountProperties = original.StorageAccountProperties type Target = original.Target +type TrustPolicy = original.TrustPolicy type Webhook = original.Webhook type WebhookCreateParameters = original.WebhookCreateParameters type WebhookListResult = original.WebhookListResult @@ -170,6 +191,9 @@ func PossibleImportModeValues() []ImportMode { func PossiblePasswordNameValues() []PasswordName { return original.PossiblePasswordNameValues() } +func PossiblePolicyStatusValues() []PolicyStatus { + return original.PossiblePolicyStatusValues() +} func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } @@ -182,6 +206,9 @@ func PossibleSkuNameValues() []SkuName { func PossibleSkuTierValues() []SkuTier { return original.PossibleSkuTierValues() } +func PossibleTrustPolicyTypeValues() []TrustPolicyType { + return original.PossibleTrustPolicyTypeValues() +} func PossibleWebhookActionValues() []WebhookAction { return original.PossibleWebhookActionValues() } diff --git a/profiles/preview/preview/containerregistry/mgmt/containerregistry/models.go b/profiles/preview/preview/containerregistry/mgmt/containerregistry/models.go index 20008aa1532b..4ea07de84b49 100644 --- a/profiles/preview/preview/containerregistry/mgmt/containerregistry/models.go +++ b/profiles/preview/preview/containerregistry/mgmt/containerregistry/models.go @@ -93,6 +93,13 @@ const ( Password2 PasswordName = original.Password2 ) +type PolicyStatus = original.PolicyStatus + +const ( + PolicyStatusDisabled PolicyStatus = original.PolicyStatusDisabled + PolicyStatusEnabled PolicyStatus = original.PolicyStatusEnabled +) + type ProvisioningState = original.ProvisioningState const ( @@ -143,6 +150,12 @@ const ( PAT TokenType = original.PAT ) +type TrustPolicyType = original.TrustPolicyType + +const ( + Notary TrustPolicyType = original.Notary +) + type Type = original.Type const ( @@ -168,8 +181,9 @@ const ( type WebhookAction = original.WebhookAction const ( - Delete WebhookAction = original.Delete - Push WebhookAction = original.Push + Delete WebhookAction = original.Delete + Push WebhookAction = original.Push + Quarantine WebhookAction = original.Quarantine ) type WebhookStatus = original.WebhookStatus @@ -240,8 +254,12 @@ type OperationDisplayDefinition = original.OperationDisplayDefinition type OperationListResult = original.OperationListResult type OperationListResultIterator = original.OperationListResultIterator type OperationListResultPage = original.OperationListResultPage +type OperationMetricSpecificationDefinition = original.OperationMetricSpecificationDefinition +type OperationPropertiesDefinition = original.OperationPropertiesDefinition +type OperationServiceSpecificationDefinition = original.OperationServiceSpecificationDefinition type PlatformProperties = original.PlatformProperties type ProxyResource = original.ProxyResource +type QuarantinePolicy = original.QuarantinePolicy type BasicQueueBuildRequest = original.BasicQueueBuildRequest type QueueBuildRequest = original.QueueBuildRequest type QuickBuildRequest = original.QuickBuildRequest @@ -251,6 +269,7 @@ type RegistriesDeleteFuture = original.RegistriesDeleteFuture type RegistriesImportImageFuture = original.RegistriesImportImageFuture type RegistriesQueueBuildFuture = original.RegistriesQueueBuildFuture type RegistriesUpdateFuture = original.RegistriesUpdateFuture +type RegistriesUpdatePoliciesFuture = original.RegistriesUpdatePoliciesFuture type Registry = original.Registry type RegistryListCredentialsResult = original.RegistryListCredentialsResult type RegistryListResult = original.RegistryListResult @@ -259,6 +278,7 @@ type RegistryListResultPage = original.RegistryListResultPage type RegistryNameCheckRequest = original.RegistryNameCheckRequest type RegistryNameStatus = original.RegistryNameStatus type RegistryPassword = original.RegistryPassword +type RegistryPolicies = original.RegistryPolicies type RegistryProperties = original.RegistryProperties type RegistryPropertiesUpdateParameters = original.RegistryPropertiesUpdateParameters type RegistryUpdateParameters = original.RegistryUpdateParameters @@ -284,6 +304,7 @@ type SourceUploadDefinition = original.SourceUploadDefinition type Status = original.Status type StorageAccountProperties = original.StorageAccountProperties type Target = original.Target +type TrustPolicy = original.TrustPolicy type Webhook = original.Webhook type WebhookCreateParameters = original.WebhookCreateParameters type WebhookListResult = original.WebhookListResult @@ -349,6 +370,9 @@ func PossibleOsTypeValues() []OsType { func PossiblePasswordNameValues() []PasswordName { return original.PossiblePasswordNameValues() } +func PossiblePolicyStatusValues() []PolicyStatus { + return original.PossiblePolicyStatusValues() +} func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } @@ -367,6 +391,9 @@ func PossibleSourceControlTypeValues() []SourceControlType { func PossibleTokenTypeValues() []TokenType { return original.PossibleTokenTypeValues() } +func PossibleTrustPolicyTypeValues() []TrustPolicyType { + return original.PossibleTrustPolicyTypeValues() +} func PossibleTypeValues() []Type { return original.PossibleTypeValues() } diff --git a/services/containerregistry/mgmt/2017-10-01/containerregistry/models.go b/services/containerregistry/mgmt/2017-10-01/containerregistry/models.go index dd8ff448238c..dd5019e53557 100644 --- a/services/containerregistry/mgmt/2017-10-01/containerregistry/models.go +++ b/services/containerregistry/mgmt/2017-10-01/containerregistry/models.go @@ -56,6 +56,21 @@ func PossiblePasswordNameValues() []PasswordName { return []PasswordName{Password, Password2} } +// PolicyStatus enumerates the values for policy status. +type PolicyStatus string + +const ( + // Disabled ... + Disabled PolicyStatus = "disabled" + // Enabled ... + Enabled PolicyStatus = "enabled" +) + +// PossiblePolicyStatusValues returns an array of possible values for the PolicyStatus const type. +func PossiblePolicyStatusValues() []PolicyStatus { + return []PolicyStatus{Disabled, Enabled} +} + // ProvisioningState enumerates the values for provisioning state. type ProvisioningState string @@ -132,6 +147,19 @@ func PossibleSkuTierValues() []SkuTier { return []SkuTier{SkuTierBasic, SkuTierClassic, SkuTierPremium, SkuTierStandard} } +// TrustPolicyType enumerates the values for trust policy type. +type TrustPolicyType string + +const ( + // Notary ... + Notary TrustPolicyType = "Notary" +) + +// PossibleTrustPolicyTypeValues returns an array of possible values for the TrustPolicyType const type. +func PossibleTrustPolicyTypeValues() []TrustPolicyType { + return []TrustPolicyType{Notary} +} + // WebhookAction enumerates the values for webhook action. type WebhookAction string @@ -140,26 +168,28 @@ const ( Delete WebhookAction = "delete" // Push ... Push WebhookAction = "push" + // Quarantine ... + Quarantine WebhookAction = "quarantine" ) // PossibleWebhookActionValues returns an array of possible values for the WebhookAction const type. func PossibleWebhookActionValues() []WebhookAction { - return []WebhookAction{Delete, Push} + return []WebhookAction{Delete, Push, Quarantine} } // WebhookStatus enumerates the values for webhook status. type WebhookStatus string const ( - // Disabled ... - Disabled WebhookStatus = "disabled" - // Enabled ... - Enabled WebhookStatus = "enabled" + // WebhookStatusDisabled ... + WebhookStatusDisabled WebhookStatus = "disabled" + // WebhookStatusEnabled ... + WebhookStatusEnabled WebhookStatus = "enabled" ) // PossibleWebhookStatusValues returns an array of possible values for the WebhookStatus const type. func PossibleWebhookStatusValues() []WebhookStatus { - return []WebhookStatus{Disabled, Enabled} + return []WebhookStatus{WebhookStatusDisabled, WebhookStatusEnabled} } // Actor the agent that initiated the event. For most situations, this could be from the authorization context of @@ -422,10 +452,83 @@ type ImportSource struct { // OperationDefinition the definition of a container registry operation. type OperationDefinition struct { + // Origin - The origin information of the container registry operation. + Origin *string `json:"origin,omitempty"` // Name - Operation name: {provider}/{resource}/{operation}. Name *string `json:"name,omitempty"` // Display - The display information for the container registry operation. Display *OperationDisplayDefinition `json:"display,omitempty"` + // OperationPropertiesDefinition - The properties information for the container registry operation. + *OperationPropertiesDefinition `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for OperationDefinition. +func (od OperationDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if od.Origin != nil { + objectMap["origin"] = od.Origin + } + if od.Name != nil { + objectMap["name"] = od.Name + } + if od.Display != nil { + objectMap["display"] = od.Display + } + if od.OperationPropertiesDefinition != nil { + objectMap["properties"] = od.OperationPropertiesDefinition + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OperationDefinition struct. +func (od *OperationDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "origin": + if v != nil { + var origin string + err = json.Unmarshal(*v, &origin) + if err != nil { + return err + } + od.Origin = &origin + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + od.Name = &name + } + case "display": + if v != nil { + var display OperationDisplayDefinition + err = json.Unmarshal(*v, &display) + if err != nil { + return err + } + od.Display = &display + } + case "properties": + if v != nil { + var operationPropertiesDefinition OperationPropertiesDefinition + err = json.Unmarshal(*v, &operationPropertiesDefinition) + if err != nil { + return err + } + od.OperationPropertiesDefinition = &operationPropertiesDefinition + } + } + } + + return nil } // OperationDisplayDefinition the display information for a container registry operation. @@ -542,6 +645,40 @@ func (page OperationListResultPage) Values() []OperationDefinition { return *page.olr.Value } +// OperationMetricSpecificationDefinition the definition of Azure Monitoring metric. +type OperationMetricSpecificationDefinition struct { + // Name - Metric name. + Name *string `json:"name,omitempty"` + // DisplayName - Metric display name. + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - Metric description. + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - Metric unit. + Unit *string `json:"unit,omitempty"` + // AggregationType - Metric aggregation type. + AggregationType *string `json:"aggregationType,omitempty"` + // InternalMetricName - Internal metric name. + InternalMetricName *string `json:"internalMetricName,omitempty"` +} + +// OperationPropertiesDefinition the definition of Azure Monitoring properties. +type OperationPropertiesDefinition struct { + // ServiceSpecification - The definition of Azure Monitoring service. + ServiceSpecification *OperationServiceSpecificationDefinition `json:"serviceSpecification,omitempty"` +} + +// OperationServiceSpecificationDefinition the definition of Azure Monitoring metrics list. +type OperationServiceSpecificationDefinition struct { + // MetricSpecifications - A list of Azure Monitoring metrics definition. + MetricSpecifications *[]OperationMetricSpecificationDefinition `json:"metricSpecifications,omitempty"` +} + +// QuarantinePolicy an object that represents quarantine policy for a container registry. +type QuarantinePolicy struct { + // Status - The value that indicates whether the policy is enabled or not. Possible values include: 'Enabled', 'Disabled' + Status PolicyStatus `json:"status,omitempty"` +} + // RegenerateCredentialParameters the parameters used to regenerate the login credential. type RegenerateCredentialParameters struct { // Name - Specifies name of the password which should be regenerated -- password or password2. Possible values include: 'Password', 'Password2' @@ -649,6 +786,35 @@ func (future *RegistriesUpdateFuture) Result(client RegistriesClient) (r Registr return } +// RegistriesUpdatePoliciesFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RegistriesUpdatePoliciesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RegistriesUpdatePoliciesFuture) Result(client RegistriesClient) (rp RegistryPolicies, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesUpdatePoliciesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.RegistriesUpdatePoliciesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rp.Response.Response, err = future.GetResult(sender); err == nil && rp.Response.Response.StatusCode != http.StatusNoContent { + rp, err = client.UpdatePoliciesResponder(rp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesUpdatePoliciesFuture", "Result", rp.Response.Response, "Failure responding to request") + } + } + return +} + // Registry an object that represents a container registry. type Registry struct { autorest.Response `json:"-"` @@ -911,6 +1077,15 @@ type RegistryPassword struct { Value *string `json:"value,omitempty"` } +// RegistryPolicies an object that represents policies for a container registry. +type RegistryPolicies struct { + autorest.Response `json:"-"` + // QuarantinePolicy - An object that represents quarantine policy for a container registry. + QuarantinePolicy *QuarantinePolicy `json:"quarantinePolicy,omitempty"` + // TrustPolicy - An object that represents content trust policy for a container registry. + TrustPolicy *TrustPolicy `json:"trustPolicy,omitempty"` +} + // RegistryProperties the properties of a container registry. type RegistryProperties struct { // LoginServer - The URL that can be used to log into the container registry. @@ -1435,6 +1610,14 @@ type Target struct { Tag *string `json:"tag,omitempty"` } +// TrustPolicy an object that represents content trust policy for a container registry. +type TrustPolicy struct { + // Type - The type of trust policy. Possible values include: 'Notary' + Type TrustPolicyType `json:"type,omitempty"` + // Status - The value that indicates whether the policy is enabled or not. Possible values include: 'Enabled', 'Disabled' + Status PolicyStatus `json:"status,omitempty"` +} + // Webhook an object that represents a webhook for a container registry. type Webhook struct { autorest.Response `json:"-"` @@ -1716,7 +1899,7 @@ func (page WebhookListResultPage) Values() []Webhook { // WebhookProperties the properties of a webhook. type WebhookProperties struct { - // Status - The status of the webhook at the time the operation was called. Possible values include: 'Enabled', 'Disabled' + // Status - The status of the webhook at the time the operation was called. Possible values include: 'WebhookStatusEnabled', 'WebhookStatusDisabled' Status WebhookStatus `json:"status,omitempty"` // Scope - The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events. Scope *string `json:"scope,omitempty"` @@ -1732,7 +1915,7 @@ type WebhookPropertiesCreateParameters struct { ServiceURI *string `json:"serviceUri,omitempty"` // CustomHeaders - Custom headers that will be added to the webhook notifications. CustomHeaders map[string]*string `json:"customHeaders"` - // Status - The status of the webhook at the time the operation was called. Possible values include: 'Enabled', 'Disabled' + // Status - The status of the webhook at the time the operation was called. Possible values include: 'WebhookStatusEnabled', 'WebhookStatusDisabled' Status WebhookStatus `json:"status,omitempty"` // Scope - The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events. Scope *string `json:"scope,omitempty"` @@ -1767,7 +1950,7 @@ type WebhookPropertiesUpdateParameters struct { ServiceURI *string `json:"serviceUri,omitempty"` // CustomHeaders - Custom headers that will be added to the webhook notifications. CustomHeaders map[string]*string `json:"customHeaders"` - // Status - The status of the webhook at the time the operation was called. Possible values include: 'Enabled', 'Disabled' + // Status - The status of the webhook at the time the operation was called. Possible values include: 'WebhookStatusEnabled', 'WebhookStatusDisabled' Status WebhookStatus `json:"status,omitempty"` // Scope - The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events. Scope *string `json:"scope,omitempty"` diff --git a/services/containerregistry/mgmt/2017-10-01/containerregistry/registries.go b/services/containerregistry/mgmt/2017-10-01/containerregistry/registries.go index f42f4eb47ba9..4e6598d12c3c 100644 --- a/services/containerregistry/mgmt/2017-10-01/containerregistry/registries.go +++ b/services/containerregistry/mgmt/2017-10-01/containerregistry/registries.go @@ -703,6 +703,81 @@ func (client RegistriesClient) ListCredentialsResponder(resp *http.Response) (re return } +// ListPolicies lists the policies for the specified container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +func (client RegistriesClient) ListPolicies(ctx context.Context, resourceGroupName string, registryName string) (result RegistryPolicies, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.RegistriesClient", "ListPolicies", err.Error()) + } + + req, err := client.ListPoliciesPreparer(ctx, resourceGroupName, registryName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListPolicies", nil, "Failure preparing request") + return + } + + resp, err := client.ListPoliciesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListPolicies", resp, "Failure sending request") + return + } + + result, err = client.ListPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListPolicies", resp, "Failure responding to request") + } + + return +} + +// ListPoliciesPreparer prepares the ListPolicies request. +func (client RegistriesClient) ListPoliciesPreparer(ctx context.Context, resourceGroupName string, registryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPoliciesSender sends the ListPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client RegistriesClient) ListPoliciesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// ListPoliciesResponder handles the response to the ListPolicies request. The method always +// closes the http.Response Body. +func (client RegistriesClient) ListPoliciesResponder(resp *http.Response) (result RegistryPolicies, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // ListUsages gets the quota usages for the specified container registry. // Parameters: // resourceGroupName - the name of the resource group to which the container registry belongs. @@ -938,3 +1013,85 @@ func (client RegistriesClient) UpdateResponder(resp *http.Response) (result Regi result.Response = autorest.Response{Response: resp} return } + +// UpdatePolicies updates the policies for the specified container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// registryPoliciesUpdateParameters - the parameters for updating policies of a container registry. +func (client RegistriesClient) UpdatePolicies(ctx context.Context, resourceGroupName string, registryName string, registryPoliciesUpdateParameters RegistryPolicies) (result RegistriesUpdatePoliciesFuture, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.RegistriesClient", "UpdatePolicies", err.Error()) + } + + req, err := client.UpdatePoliciesPreparer(ctx, resourceGroupName, registryName, registryPoliciesUpdateParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "UpdatePolicies", nil, "Failure preparing request") + return + } + + result, err = client.UpdatePoliciesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "UpdatePolicies", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePoliciesPreparer prepares the UpdatePolicies request. +func (client RegistriesClient) UpdatePoliciesPreparer(ctx context.Context, resourceGroupName string, registryName string, registryPoliciesUpdateParameters RegistryPolicies) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/updatePolicies", pathParameters), + autorest.WithJSON(registryPoliciesUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePoliciesSender sends the UpdatePolicies request. The method will close the +// http.Response Body if it receives an error. +func (client RegistriesClient) UpdatePoliciesSender(req *http.Request) (future RegistriesUpdatePoliciesFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + err = autorest.Respond(resp, azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdatePoliciesResponder handles the response to the UpdatePolicies request. The method always +// closes the http.Response Body. +func (client RegistriesClient) UpdatePoliciesResponder(resp *http.Response) (result RegistryPolicies, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/models.go b/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/models.go index fb0ecdbdd933..ca67fa382e6c 100644 --- a/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/models.go +++ b/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/models.go @@ -160,6 +160,21 @@ func PossiblePasswordNameValues() []PasswordName { return []PasswordName{Password, Password2} } +// PolicyStatus enumerates the values for policy status. +type PolicyStatus string + +const ( + // PolicyStatusDisabled ... + PolicyStatusDisabled PolicyStatus = "disabled" + // PolicyStatusEnabled ... + PolicyStatusEnabled PolicyStatus = "enabled" +) + +// PossiblePolicyStatusValues returns an array of possible values for the PolicyStatus const type. +func PossiblePolicyStatusValues() []PolicyStatus { + return []PolicyStatus{PolicyStatusDisabled, PolicyStatusEnabled} +} + // ProvisioningState enumerates the values for provisioning state. type ProvisioningState string @@ -266,6 +281,19 @@ func PossibleTokenTypeValues() []TokenType { return []TokenType{OAuth, PAT} } +// TrustPolicyType enumerates the values for trust policy type. +type TrustPolicyType string + +const ( + // Notary ... + Notary TrustPolicyType = "Notary" +) + +// PossibleTrustPolicyTypeValues returns an array of possible values for the TrustPolicyType const type. +func PossibleTrustPolicyTypeValues() []TrustPolicyType { + return []TrustPolicyType{Notary} +} + // Type enumerates the values for type. type Type string @@ -322,11 +350,13 @@ const ( Delete WebhookAction = "delete" // Push ... Push WebhookAction = "push" + // Quarantine ... + Quarantine WebhookAction = "quarantine" ) // PossibleWebhookActionValues returns an array of possible values for the WebhookAction const type. func PossibleWebhookActionValues() []WebhookAction { - return []WebhookAction{Delete, Push} + return []WebhookAction{Delete, Push, Quarantine} } // WebhookStatus enumerates the values for webhook status. @@ -2088,10 +2118,83 @@ type ImportSource struct { // OperationDefinition the definition of a container registry operation. type OperationDefinition struct { + // Origin - The origin information of the container registry operation. + Origin *string `json:"origin,omitempty"` // Name - Operation name: {provider}/{resource}/{operation}. Name *string `json:"name,omitempty"` // Display - The display information for the container registry operation. Display *OperationDisplayDefinition `json:"display,omitempty"` + // OperationPropertiesDefinition - The properties information for the container registry operation. + *OperationPropertiesDefinition `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for OperationDefinition. +func (od OperationDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if od.Origin != nil { + objectMap["origin"] = od.Origin + } + if od.Name != nil { + objectMap["name"] = od.Name + } + if od.Display != nil { + objectMap["display"] = od.Display + } + if od.OperationPropertiesDefinition != nil { + objectMap["properties"] = od.OperationPropertiesDefinition + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OperationDefinition struct. +func (od *OperationDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "origin": + if v != nil { + var origin string + err = json.Unmarshal(*v, &origin) + if err != nil { + return err + } + od.Origin = &origin + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + od.Name = &name + } + case "display": + if v != nil { + var display OperationDisplayDefinition + err = json.Unmarshal(*v, &display) + if err != nil { + return err + } + od.Display = &display + } + case "properties": + if v != nil { + var operationPropertiesDefinition OperationPropertiesDefinition + err = json.Unmarshal(*v, &operationPropertiesDefinition) + if err != nil { + return err + } + od.OperationPropertiesDefinition = &operationPropertiesDefinition + } + } + } + + return nil } // OperationDisplayDefinition the display information for a container registry operation. @@ -2208,6 +2311,34 @@ func (page OperationListResultPage) Values() []OperationDefinition { return *page.olr.Value } +// OperationMetricSpecificationDefinition the definition of Azure Monitoring metric. +type OperationMetricSpecificationDefinition struct { + // Name - Metric name. + Name *string `json:"name,omitempty"` + // DisplayName - Metric display name. + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - Metric description. + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - Metric unit. + Unit *string `json:"unit,omitempty"` + // AggregationType - Metric aggregation type. + AggregationType *string `json:"aggregationType,omitempty"` + // InternalMetricName - Internal metric name. + InternalMetricName *string `json:"internalMetricName,omitempty"` +} + +// OperationPropertiesDefinition the definition of Azure Monitoring properties. +type OperationPropertiesDefinition struct { + // ServiceSpecification - The definition of Azure Monitoring service. + ServiceSpecification *OperationServiceSpecificationDefinition `json:"serviceSpecification,omitempty"` +} + +// OperationServiceSpecificationDefinition the definition of Azure Monitoring metrics list. +type OperationServiceSpecificationDefinition struct { + // MetricSpecifications - A list of Azure Monitoring metrics definition. + MetricSpecifications *[]OperationMetricSpecificationDefinition `json:"metricSpecifications,omitempty"` +} + // PlatformProperties the platform properties against which the build has to happen. type PlatformProperties struct { // OsType - The operating system type required for the build. Possible values include: 'Windows', 'Linux' @@ -2227,6 +2358,12 @@ type ProxyResource struct { Type *string `json:"type,omitempty"` } +// QuarantinePolicy an object that represents quarantine policy for a container registry. +type QuarantinePolicy struct { + // Status - The value that indicates whether the policy is enabled or not. Possible values include: 'PolicyStatusEnabled', 'PolicyStatusDisabled' + Status PolicyStatus `json:"status,omitempty"` +} + // BasicQueueBuildRequest the queue build request parameters. type BasicQueueBuildRequest interface { AsBuildTaskBuildRequest() (*BuildTaskBuildRequest, bool) @@ -2523,6 +2660,35 @@ func (future *RegistriesUpdateFuture) Result(client RegistriesClient) (r Registr return } +// RegistriesUpdatePoliciesFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RegistriesUpdatePoliciesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RegistriesUpdatePoliciesFuture) Result(client RegistriesClient) (rp RegistryPolicies, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesUpdatePoliciesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.RegistriesUpdatePoliciesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rp.Response.Response, err = future.GetResult(sender); err == nil && rp.Response.Response.StatusCode != http.StatusNoContent { + rp, err = client.UpdatePoliciesResponder(rp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesUpdatePoliciesFuture", "Result", rp.Response.Response, "Failure responding to request") + } + } + return +} + // Registry an object that represents a container registry. type Registry struct { autorest.Response `json:"-"` @@ -2785,6 +2951,15 @@ type RegistryPassword struct { Value *string `json:"value,omitempty"` } +// RegistryPolicies an object that represents policies for a container registry. +type RegistryPolicies struct { + autorest.Response `json:"-"` + // QuarantinePolicy - An object that represents quarantine policy for a container registry. + QuarantinePolicy *QuarantinePolicy `json:"quarantinePolicy,omitempty"` + // TrustPolicy - An object that represents content trust policy for a container registry. + TrustPolicy *TrustPolicy `json:"trustPolicy,omitempty"` +} + // RegistryProperties the properties of a container registry. type RegistryProperties struct { // LoginServer - The URL that can be used to log into the container registry. @@ -3353,6 +3528,14 @@ type Target struct { Tag *string `json:"tag,omitempty"` } +// TrustPolicy an object that represents content trust policy for a container registry. +type TrustPolicy struct { + // Type - The type of trust policy. Possible values include: 'Notary' + Type TrustPolicyType `json:"type,omitempty"` + // Status - The value that indicates whether the policy is enabled or not. Possible values include: 'PolicyStatusEnabled', 'PolicyStatusDisabled' + Status PolicyStatus `json:"status,omitempty"` +} + // Webhook an object that represents a webhook for a container registry. type Webhook struct { autorest.Response `json:"-"` diff --git a/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/registries.go b/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/registries.go index 8df18709d2c3..3998b48fd8d5 100644 --- a/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/registries.go +++ b/services/preview/containerregistry/mgmt/2018-02-01/containerregistry/registries.go @@ -778,6 +778,81 @@ func (client RegistriesClient) ListCredentialsResponder(resp *http.Response) (re return } +// ListPolicies lists the policies for the specified container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +func (client RegistriesClient) ListPolicies(ctx context.Context, resourceGroupName string, registryName string) (result RegistryPolicies, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.RegistriesClient", "ListPolicies", err.Error()) + } + + req, err := client.ListPoliciesPreparer(ctx, resourceGroupName, registryName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListPolicies", nil, "Failure preparing request") + return + } + + resp, err := client.ListPoliciesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListPolicies", resp, "Failure sending request") + return + } + + result, err = client.ListPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListPolicies", resp, "Failure responding to request") + } + + return +} + +// ListPoliciesPreparer prepares the ListPolicies request. +func (client RegistriesClient) ListPoliciesPreparer(ctx context.Context, resourceGroupName string, registryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPoliciesSender sends the ListPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client RegistriesClient) ListPoliciesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// ListPoliciesResponder handles the response to the ListPolicies request. The method always +// closes the http.Response Body. +func (client RegistriesClient) ListPoliciesResponder(resp *http.Response) (result RegistryPolicies, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // ListUsages gets the quota usages for the specified container registry. // Parameters: // resourceGroupName - the name of the resource group to which the container registry belongs. @@ -1095,3 +1170,85 @@ func (client RegistriesClient) UpdateResponder(resp *http.Response) (result Regi result.Response = autorest.Response{Response: resp} return } + +// UpdatePolicies updates the policies for the specified container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// registryPoliciesUpdateParameters - the parameters for updating policies of a container registry. +func (client RegistriesClient) UpdatePolicies(ctx context.Context, resourceGroupName string, registryName string, registryPoliciesUpdateParameters RegistryPolicies) (result RegistriesUpdatePoliciesFuture, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.RegistriesClient", "UpdatePolicies", err.Error()) + } + + req, err := client.UpdatePoliciesPreparer(ctx, resourceGroupName, registryName, registryPoliciesUpdateParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "UpdatePolicies", nil, "Failure preparing request") + return + } + + result, err = client.UpdatePoliciesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "UpdatePolicies", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePoliciesPreparer prepares the UpdatePolicies request. +func (client RegistriesClient) UpdatePoliciesPreparer(ctx context.Context, resourceGroupName string, registryName string, registryPoliciesUpdateParameters RegistryPolicies) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/updatePolicies", pathParameters), + autorest.WithJSON(registryPoliciesUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePoliciesSender sends the UpdatePolicies request. The method will close the +// http.Response Body if it receives an error. +func (client RegistriesClient) UpdatePoliciesSender(req *http.Request) (future RegistriesUpdatePoliciesFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + err = autorest.Respond(resp, azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdatePoliciesResponder handles the response to the UpdatePolicies request. The method always +// closes the http.Response Body. +func (client RegistriesClient) UpdatePoliciesResponder(resp *http.Response) (result RegistryPolicies, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +}