// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package v1beta20210401

import "github.com/Azure/azure-service-operator/v2/pkg/genruntime"

// Deprecated version of StorageAccounts_BlobService_Spec. Use v1api20210401.StorageAccounts_BlobService_Spec instead
type StorageAccounts_BlobService_Spec_ARM struct {
	Name       string                                           `json:"name,omitempty"`
	Properties *StorageAccounts_BlobService_Properties_Spec_ARM `json:"properties,omitempty"`
}

var _ genruntime.ARMResourceSpec = &StorageAccounts_BlobService_Spec_ARM{}

// GetAPIVersion returns the ARM API version of the resource. This is always "2021-04-01"
func (service StorageAccounts_BlobService_Spec_ARM) GetAPIVersion() string {
	return string(APIVersion_Value)
}

// GetName returns the Name of the resource
func (service *StorageAccounts_BlobService_Spec_ARM) GetName() string {
	return service.Name
}

// GetType returns the ARM Type of the resource. This is always "Microsoft.Storage/storageAccounts/blobServices"
func (service *StorageAccounts_BlobService_Spec_ARM) GetType() string {
	return "Microsoft.Storage/storageAccounts/blobServices"
}

// Deprecated version of StorageAccounts_BlobService_Properties_Spec. Use v1api20210401.StorageAccounts_BlobService_Properties_Spec instead
type StorageAccounts_BlobService_Properties_Spec_ARM struct {
	AutomaticSnapshotPolicyEnabled *bool                             `json:"automaticSnapshotPolicyEnabled,omitempty"`
	ChangeFeed                     *ChangeFeed_ARM                   `json:"changeFeed,omitempty"`
	ContainerDeleteRetentionPolicy *DeleteRetentionPolicy_ARM        `json:"containerDeleteRetentionPolicy,omitempty"`
	Cors                           *CorsRules_ARM                    `json:"cors,omitempty"`
	DefaultServiceVersion          *string                           `json:"defaultServiceVersion,omitempty"`
	DeleteRetentionPolicy          *DeleteRetentionPolicy_ARM        `json:"deleteRetentionPolicy,omitempty"`
	IsVersioningEnabled            *bool                             `json:"isVersioningEnabled,omitempty"`
	LastAccessTimeTrackingPolicy   *LastAccessTimeTrackingPolicy_ARM `json:"lastAccessTimeTrackingPolicy,omitempty"`
	RestorePolicy                  *RestorePolicyProperties_ARM      `json:"restorePolicy,omitempty"`
}

// Deprecated version of ChangeFeed. Use v1api20210401.ChangeFeed instead
type ChangeFeed_ARM struct {
	Enabled         *bool `json:"enabled,omitempty"`
	RetentionInDays *int  `json:"retentionInDays,omitempty"`
}

// Deprecated version of CorsRules. Use v1api20210401.CorsRules instead
type CorsRules_ARM struct {
	CorsRules []CorsRule_ARM `json:"corsRules"`
}

// Deprecated version of DeleteRetentionPolicy. Use v1api20210401.DeleteRetentionPolicy instead
type DeleteRetentionPolicy_ARM struct {
	Days    *int  `json:"days,omitempty"`
	Enabled *bool `json:"enabled,omitempty"`
}

// Deprecated version of LastAccessTimeTrackingPolicy. Use v1api20210401.LastAccessTimeTrackingPolicy instead
type LastAccessTimeTrackingPolicy_ARM struct {
	BlobType                  []string                           `json:"blobType"`
	Enable                    *bool                              `json:"enable,omitempty"`
	Name                      *LastAccessTimeTrackingPolicy_Name `json:"name,omitempty"`
	TrackingGranularityInDays *int                               `json:"trackingGranularityInDays,omitempty"`
}

// Deprecated version of RestorePolicyProperties. Use v1api20210401.RestorePolicyProperties instead
type RestorePolicyProperties_ARM struct {
	Days    *int  `json:"days,omitempty"`
	Enabled *bool `json:"enabled,omitempty"`
}

// Deprecated version of CorsRule. Use v1api20210401.CorsRule instead
type CorsRule_ARM struct {
	AllowedHeaders  []string                  `json:"allowedHeaders"`
	AllowedMethods  []CorsRule_AllowedMethods `json:"allowedMethods"`
	AllowedOrigins  []string                  `json:"allowedOrigins"`
	ExposedHeaders  []string                  `json:"exposedHeaders"`
	MaxAgeInSeconds *int                      `json:"maxAgeInSeconds,omitempty"`
}
