in v2/api/documentdb/v1api20231115/database_account_types_gen.go [390:644]
func (account *DatabaseAccount_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) {
if account == nil {
return nil, nil
}
result := &arm.DatabaseAccount_Spec{}
// Set property "Identity":
if account.Identity != nil {
identity_ARM, err := (*account.Identity).ConvertToARM(resolved)
if err != nil {
return nil, err
}
identity := *identity_ARM.(*arm.ManagedServiceIdentity)
result.Identity = &identity
}
// Set property "Kind":
if account.Kind != nil {
var temp string
temp = string(*account.Kind)
kind := arm.DatabaseAccount_Kind_Spec(temp)
result.Kind = &kind
}
// Set property "Location":
if account.Location != nil {
location := *account.Location
result.Location = &location
}
// Set property "Name":
result.Name = resolved.Name
// Set property "Properties":
if account.AnalyticalStorageConfiguration != nil ||
account.ApiProperties != nil ||
account.BackupPolicy != nil ||
account.Capabilities != nil ||
account.Capacity != nil ||
account.ConnectorOffer != nil ||
account.ConsistencyPolicy != nil ||
account.Cors != nil ||
account.CreateMode != nil ||
account.CustomerManagedKeyStatus != nil ||
account.DatabaseAccountOfferType != nil ||
account.DefaultIdentity != nil ||
account.DisableKeyBasedMetadataWriteAccess != nil ||
account.DisableLocalAuth != nil ||
account.EnableAnalyticalStorage != nil ||
account.EnableAutomaticFailover != nil ||
account.EnableBurstCapacity != nil ||
account.EnableCassandraConnector != nil ||
account.EnableFreeTier != nil ||
account.EnableMultipleWriteLocations != nil ||
account.EnablePartitionMerge != nil ||
account.IpRules != nil ||
account.IsVirtualNetworkFilterEnabled != nil ||
account.KeyVaultKeyUri != nil ||
account.Locations != nil ||
account.MinimalTlsVersion != nil ||
account.NetworkAclBypass != nil ||
account.NetworkAclBypassResourceReferences != nil ||
account.PublicNetworkAccess != nil ||
account.RestoreParameters != nil ||
account.VirtualNetworkRules != nil {
result.Properties = &arm.DatabaseAccountCreateUpdateProperties{}
}
if account.AnalyticalStorageConfiguration != nil {
analyticalStorageConfiguration_ARM, err := (*account.AnalyticalStorageConfiguration).ConvertToARM(resolved)
if err != nil {
return nil, err
}
analyticalStorageConfiguration := *analyticalStorageConfiguration_ARM.(*arm.AnalyticalStorageConfiguration)
result.Properties.AnalyticalStorageConfiguration = &analyticalStorageConfiguration
}
if account.ApiProperties != nil {
apiProperties_ARM, err := (*account.ApiProperties).ConvertToARM(resolved)
if err != nil {
return nil, err
}
apiProperties := *apiProperties_ARM.(*arm.ApiProperties)
result.Properties.ApiProperties = &apiProperties
}
if account.BackupPolicy != nil {
backupPolicy_ARM, err := (*account.BackupPolicy).ConvertToARM(resolved)
if err != nil {
return nil, err
}
backupPolicy := *backupPolicy_ARM.(*arm.BackupPolicy)
result.Properties.BackupPolicy = &backupPolicy
}
for _, item := range account.Capabilities {
item_ARM, err := item.ConvertToARM(resolved)
if err != nil {
return nil, err
}
result.Properties.Capabilities = append(result.Properties.Capabilities, *item_ARM.(*arm.Capability))
}
if account.Capacity != nil {
capacity_ARM, err := (*account.Capacity).ConvertToARM(resolved)
if err != nil {
return nil, err
}
capacity := *capacity_ARM.(*arm.Capacity)
result.Properties.Capacity = &capacity
}
if account.ConnectorOffer != nil {
var temp string
temp = string(*account.ConnectorOffer)
connectorOffer := arm.ConnectorOffer(temp)
result.Properties.ConnectorOffer = &connectorOffer
}
if account.ConsistencyPolicy != nil {
consistencyPolicy_ARM, err := (*account.ConsistencyPolicy).ConvertToARM(resolved)
if err != nil {
return nil, err
}
consistencyPolicy := *consistencyPolicy_ARM.(*arm.ConsistencyPolicy)
result.Properties.ConsistencyPolicy = &consistencyPolicy
}
for _, item := range account.Cors {
item_ARM, err := item.ConvertToARM(resolved)
if err != nil {
return nil, err
}
result.Properties.Cors = append(result.Properties.Cors, *item_ARM.(*arm.CorsPolicy))
}
if account.CreateMode != nil {
var temp string
temp = string(*account.CreateMode)
createMode := arm.CreateMode(temp)
result.Properties.CreateMode = &createMode
}
if account.CustomerManagedKeyStatus != nil {
customerManagedKeyStatus := *account.CustomerManagedKeyStatus
result.Properties.CustomerManagedKeyStatus = &customerManagedKeyStatus
}
if account.DatabaseAccountOfferType != nil {
var temp string
temp = string(*account.DatabaseAccountOfferType)
databaseAccountOfferType := arm.DatabaseAccountOfferType(temp)
result.Properties.DatabaseAccountOfferType = &databaseAccountOfferType
}
if account.DefaultIdentity != nil {
defaultIdentity := *account.DefaultIdentity
result.Properties.DefaultIdentity = &defaultIdentity
}
if account.DisableKeyBasedMetadataWriteAccess != nil {
disableKeyBasedMetadataWriteAccess := *account.DisableKeyBasedMetadataWriteAccess
result.Properties.DisableKeyBasedMetadataWriteAccess = &disableKeyBasedMetadataWriteAccess
}
if account.DisableLocalAuth != nil {
disableLocalAuth := *account.DisableLocalAuth
result.Properties.DisableLocalAuth = &disableLocalAuth
}
if account.EnableAnalyticalStorage != nil {
enableAnalyticalStorage := *account.EnableAnalyticalStorage
result.Properties.EnableAnalyticalStorage = &enableAnalyticalStorage
}
if account.EnableAutomaticFailover != nil {
enableAutomaticFailover := *account.EnableAutomaticFailover
result.Properties.EnableAutomaticFailover = &enableAutomaticFailover
}
if account.EnableBurstCapacity != nil {
enableBurstCapacity := *account.EnableBurstCapacity
result.Properties.EnableBurstCapacity = &enableBurstCapacity
}
if account.EnableCassandraConnector != nil {
enableCassandraConnector := *account.EnableCassandraConnector
result.Properties.EnableCassandraConnector = &enableCassandraConnector
}
if account.EnableFreeTier != nil {
enableFreeTier := *account.EnableFreeTier
result.Properties.EnableFreeTier = &enableFreeTier
}
if account.EnableMultipleWriteLocations != nil {
enableMultipleWriteLocations := *account.EnableMultipleWriteLocations
result.Properties.EnableMultipleWriteLocations = &enableMultipleWriteLocations
}
if account.EnablePartitionMerge != nil {
enablePartitionMerge := *account.EnablePartitionMerge
result.Properties.EnablePartitionMerge = &enablePartitionMerge
}
for _, item := range account.IpRules {
item_ARM, err := item.ConvertToARM(resolved)
if err != nil {
return nil, err
}
result.Properties.IpRules = append(result.Properties.IpRules, *item_ARM.(*arm.IpAddressOrRange))
}
if account.IsVirtualNetworkFilterEnabled != nil {
isVirtualNetworkFilterEnabled := *account.IsVirtualNetworkFilterEnabled
result.Properties.IsVirtualNetworkFilterEnabled = &isVirtualNetworkFilterEnabled
}
if account.KeyVaultKeyUri != nil {
keyVaultKeyUri := *account.KeyVaultKeyUri
result.Properties.KeyVaultKeyUri = &keyVaultKeyUri
}
for _, item := range account.Locations {
item_ARM, err := item.ConvertToARM(resolved)
if err != nil {
return nil, err
}
result.Properties.Locations = append(result.Properties.Locations, *item_ARM.(*arm.Location))
}
if account.MinimalTlsVersion != nil {
var temp string
temp = string(*account.MinimalTlsVersion)
minimalTlsVersion := arm.MinimalTlsVersion(temp)
result.Properties.MinimalTlsVersion = &minimalTlsVersion
}
if account.NetworkAclBypass != nil {
var temp string
temp = string(*account.NetworkAclBypass)
networkAclBypass := arm.NetworkAclBypass(temp)
result.Properties.NetworkAclBypass = &networkAclBypass
}
for _, item := range account.NetworkAclBypassResourceReferences {
itemARMID, err := resolved.ResolvedReferences.Lookup(item)
if err != nil {
return nil, err
}
result.Properties.NetworkAclBypassResourceIds = append(result.Properties.NetworkAclBypassResourceIds, itemARMID)
}
if account.PublicNetworkAccess != nil {
var temp string
temp = string(*account.PublicNetworkAccess)
publicNetworkAccess := arm.PublicNetworkAccess(temp)
result.Properties.PublicNetworkAccess = &publicNetworkAccess
}
if account.RestoreParameters != nil {
restoreParameters_ARM, err := (*account.RestoreParameters).ConvertToARM(resolved)
if err != nil {
return nil, err
}
restoreParameters := *restoreParameters_ARM.(*arm.RestoreParameters)
result.Properties.RestoreParameters = &restoreParameters
}
for _, item := range account.VirtualNetworkRules {
item_ARM, err := item.ConvertToARM(resolved)
if err != nil {
return nil, err
}
result.Properties.VirtualNetworkRules = append(result.Properties.VirtualNetworkRules, *item_ARM.(*arm.VirtualNetworkRule))
}
// Set property "Tags":
if account.Tags != nil {
result.Tags = make(map[string]string, len(account.Tags))
for key, value := range account.Tags {
result.Tags[key] = value
}
}
return result, nil
}