func()

in v2/api/documentdb/v1api20231115/database_account_types_gen.go [1091:1463]


func (account *DatabaseAccount_Spec) AssignProperties_From_DatabaseAccount_Spec(source *storage.DatabaseAccount_Spec) error {

	// AnalyticalStorageConfiguration
	if source.AnalyticalStorageConfiguration != nil {
		var analyticalStorageConfiguration AnalyticalStorageConfiguration
		err := analyticalStorageConfiguration.AssignProperties_From_AnalyticalStorageConfiguration(source.AnalyticalStorageConfiguration)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_AnalyticalStorageConfiguration() to populate field AnalyticalStorageConfiguration")
		}
		account.AnalyticalStorageConfiguration = &analyticalStorageConfiguration
	} else {
		account.AnalyticalStorageConfiguration = nil
	}

	// ApiProperties
	if source.ApiProperties != nil {
		var apiProperty ApiProperties
		err := apiProperty.AssignProperties_From_ApiProperties(source.ApiProperties)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_ApiProperties() to populate field ApiProperties")
		}
		account.ApiProperties = &apiProperty
	} else {
		account.ApiProperties = nil
	}

	// AzureName
	account.AzureName = source.AzureName

	// BackupPolicy
	if source.BackupPolicy != nil {
		var backupPolicy BackupPolicy
		err := backupPolicy.AssignProperties_From_BackupPolicy(source.BackupPolicy)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_BackupPolicy() to populate field BackupPolicy")
		}
		account.BackupPolicy = &backupPolicy
	} else {
		account.BackupPolicy = nil
	}

	// Capabilities
	if source.Capabilities != nil {
		capabilityList := make([]Capability, len(source.Capabilities))
		for capabilityIndex, capabilityItem := range source.Capabilities {
			// Shadow the loop variable to avoid aliasing
			capabilityItem := capabilityItem
			var capability Capability
			err := capability.AssignProperties_From_Capability(&capabilityItem)
			if err != nil {
				return eris.Wrap(err, "calling AssignProperties_From_Capability() to populate field Capabilities")
			}
			capabilityList[capabilityIndex] = capability
		}
		account.Capabilities = capabilityList
	} else {
		account.Capabilities = nil
	}

	// Capacity
	if source.Capacity != nil {
		var capacity Capacity
		err := capacity.AssignProperties_From_Capacity(source.Capacity)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_Capacity() to populate field Capacity")
		}
		account.Capacity = &capacity
	} else {
		account.Capacity = nil
	}

	// ConnectorOffer
	if source.ConnectorOffer != nil {
		connectorOffer := *source.ConnectorOffer
		connectorOfferTemp := genruntime.ToEnum(connectorOffer, connectorOffer_Values)
		account.ConnectorOffer = &connectorOfferTemp
	} else {
		account.ConnectorOffer = nil
	}

	// ConsistencyPolicy
	if source.ConsistencyPolicy != nil {
		var consistencyPolicy ConsistencyPolicy
		err := consistencyPolicy.AssignProperties_From_ConsistencyPolicy(source.ConsistencyPolicy)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_ConsistencyPolicy() to populate field ConsistencyPolicy")
		}
		account.ConsistencyPolicy = &consistencyPolicy
	} else {
		account.ConsistencyPolicy = nil
	}

	// Cors
	if source.Cors != nil {
		corList := make([]CorsPolicy, len(source.Cors))
		for corIndex, corItem := range source.Cors {
			// Shadow the loop variable to avoid aliasing
			corItem := corItem
			var cor CorsPolicy
			err := cor.AssignProperties_From_CorsPolicy(&corItem)
			if err != nil {
				return eris.Wrap(err, "calling AssignProperties_From_CorsPolicy() to populate field Cors")
			}
			corList[corIndex] = cor
		}
		account.Cors = corList
	} else {
		account.Cors = nil
	}

	// CreateMode
	if source.CreateMode != nil {
		createMode := *source.CreateMode
		createModeTemp := genruntime.ToEnum(createMode, createMode_Values)
		account.CreateMode = &createModeTemp
	} else {
		account.CreateMode = nil
	}

	// CustomerManagedKeyStatus
	account.CustomerManagedKeyStatus = genruntime.ClonePointerToString(source.CustomerManagedKeyStatus)

	// DatabaseAccountOfferType
	if source.DatabaseAccountOfferType != nil {
		databaseAccountOfferType := *source.DatabaseAccountOfferType
		databaseAccountOfferTypeTemp := genruntime.ToEnum(databaseAccountOfferType, databaseAccountOfferType_Values)
		account.DatabaseAccountOfferType = &databaseAccountOfferTypeTemp
	} else {
		account.DatabaseAccountOfferType = nil
	}

	// DefaultIdentity
	account.DefaultIdentity = genruntime.ClonePointerToString(source.DefaultIdentity)

	// DisableKeyBasedMetadataWriteAccess
	if source.DisableKeyBasedMetadataWriteAccess != nil {
		disableKeyBasedMetadataWriteAccess := *source.DisableKeyBasedMetadataWriteAccess
		account.DisableKeyBasedMetadataWriteAccess = &disableKeyBasedMetadataWriteAccess
	} else {
		account.DisableKeyBasedMetadataWriteAccess = nil
	}

	// DisableLocalAuth
	if source.DisableLocalAuth != nil {
		disableLocalAuth := *source.DisableLocalAuth
		account.DisableLocalAuth = &disableLocalAuth
	} else {
		account.DisableLocalAuth = nil
	}

	// EnableAnalyticalStorage
	if source.EnableAnalyticalStorage != nil {
		enableAnalyticalStorage := *source.EnableAnalyticalStorage
		account.EnableAnalyticalStorage = &enableAnalyticalStorage
	} else {
		account.EnableAnalyticalStorage = nil
	}

	// EnableAutomaticFailover
	if source.EnableAutomaticFailover != nil {
		enableAutomaticFailover := *source.EnableAutomaticFailover
		account.EnableAutomaticFailover = &enableAutomaticFailover
	} else {
		account.EnableAutomaticFailover = nil
	}

	// EnableBurstCapacity
	if source.EnableBurstCapacity != nil {
		enableBurstCapacity := *source.EnableBurstCapacity
		account.EnableBurstCapacity = &enableBurstCapacity
	} else {
		account.EnableBurstCapacity = nil
	}

	// EnableCassandraConnector
	if source.EnableCassandraConnector != nil {
		enableCassandraConnector := *source.EnableCassandraConnector
		account.EnableCassandraConnector = &enableCassandraConnector
	} else {
		account.EnableCassandraConnector = nil
	}

	// EnableFreeTier
	if source.EnableFreeTier != nil {
		enableFreeTier := *source.EnableFreeTier
		account.EnableFreeTier = &enableFreeTier
	} else {
		account.EnableFreeTier = nil
	}

	// EnableMultipleWriteLocations
	if source.EnableMultipleWriteLocations != nil {
		enableMultipleWriteLocation := *source.EnableMultipleWriteLocations
		account.EnableMultipleWriteLocations = &enableMultipleWriteLocation
	} else {
		account.EnableMultipleWriteLocations = nil
	}

	// EnablePartitionMerge
	if source.EnablePartitionMerge != nil {
		enablePartitionMerge := *source.EnablePartitionMerge
		account.EnablePartitionMerge = &enablePartitionMerge
	} else {
		account.EnablePartitionMerge = nil
	}

	// Identity
	if source.Identity != nil {
		var identity ManagedServiceIdentity
		err := identity.AssignProperties_From_ManagedServiceIdentity(source.Identity)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity() to populate field Identity")
		}
		account.Identity = &identity
	} else {
		account.Identity = nil
	}

	// IpRules
	if source.IpRules != nil {
		ipRuleList := make([]IpAddressOrRange, len(source.IpRules))
		for ipRuleIndex, ipRuleItem := range source.IpRules {
			// Shadow the loop variable to avoid aliasing
			ipRuleItem := ipRuleItem
			var ipRule IpAddressOrRange
			err := ipRule.AssignProperties_From_IpAddressOrRange(&ipRuleItem)
			if err != nil {
				return eris.Wrap(err, "calling AssignProperties_From_IpAddressOrRange() to populate field IpRules")
			}
			ipRuleList[ipRuleIndex] = ipRule
		}
		account.IpRules = ipRuleList
	} else {
		account.IpRules = nil
	}

	// IsVirtualNetworkFilterEnabled
	if source.IsVirtualNetworkFilterEnabled != nil {
		isVirtualNetworkFilterEnabled := *source.IsVirtualNetworkFilterEnabled
		account.IsVirtualNetworkFilterEnabled = &isVirtualNetworkFilterEnabled
	} else {
		account.IsVirtualNetworkFilterEnabled = nil
	}

	// KeyVaultKeyUri
	account.KeyVaultKeyUri = genruntime.ClonePointerToString(source.KeyVaultKeyUri)

	// Kind
	if source.Kind != nil {
		kind := *source.Kind
		kindTemp := genruntime.ToEnum(kind, databaseAccount_Kind_Spec_Values)
		account.Kind = &kindTemp
	} else {
		account.Kind = nil
	}

	// Location
	account.Location = genruntime.ClonePointerToString(source.Location)

	// Locations
	if source.Locations != nil {
		locationList := make([]Location, len(source.Locations))
		for locationIndex, locationItem := range source.Locations {
			// Shadow the loop variable to avoid aliasing
			locationItem := locationItem
			var location Location
			err := location.AssignProperties_From_Location(&locationItem)
			if err != nil {
				return eris.Wrap(err, "calling AssignProperties_From_Location() to populate field Locations")
			}
			locationList[locationIndex] = location
		}
		account.Locations = locationList
	} else {
		account.Locations = nil
	}

	// MinimalTlsVersion
	if source.MinimalTlsVersion != nil {
		minimalTlsVersion := *source.MinimalTlsVersion
		minimalTlsVersionTemp := genruntime.ToEnum(minimalTlsVersion, minimalTlsVersion_Values)
		account.MinimalTlsVersion = &minimalTlsVersionTemp
	} else {
		account.MinimalTlsVersion = nil
	}

	// NetworkAclBypass
	if source.NetworkAclBypass != nil {
		networkAclBypass := *source.NetworkAclBypass
		networkAclBypassTemp := genruntime.ToEnum(networkAclBypass, networkAclBypass_Values)
		account.NetworkAclBypass = &networkAclBypassTemp
	} else {
		account.NetworkAclBypass = nil
	}

	// NetworkAclBypassResourceReferences
	if source.NetworkAclBypassResourceReferences != nil {
		networkAclBypassResourceReferenceList := make([]genruntime.ResourceReference, len(source.NetworkAclBypassResourceReferences))
		for networkAclBypassResourceReferenceIndex, networkAclBypassResourceReferenceItem := range source.NetworkAclBypassResourceReferences {
			// Shadow the loop variable to avoid aliasing
			networkAclBypassResourceReferenceItem := networkAclBypassResourceReferenceItem
			networkAclBypassResourceReferenceList[networkAclBypassResourceReferenceIndex] = networkAclBypassResourceReferenceItem.Copy()
		}
		account.NetworkAclBypassResourceReferences = networkAclBypassResourceReferenceList
	} else {
		account.NetworkAclBypassResourceReferences = nil
	}

	// OperatorSpec
	if source.OperatorSpec != nil {
		var operatorSpec DatabaseAccountOperatorSpec
		err := operatorSpec.AssignProperties_From_DatabaseAccountOperatorSpec(source.OperatorSpec)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_DatabaseAccountOperatorSpec() to populate field OperatorSpec")
		}
		account.OperatorSpec = &operatorSpec
	} else {
		account.OperatorSpec = nil
	}

	// Owner
	if source.Owner != nil {
		owner := source.Owner.Copy()
		account.Owner = &owner
	} else {
		account.Owner = nil
	}

	// PublicNetworkAccess
	if source.PublicNetworkAccess != nil {
		publicNetworkAccess := *source.PublicNetworkAccess
		publicNetworkAccessTemp := genruntime.ToEnum(publicNetworkAccess, publicNetworkAccess_Values)
		account.PublicNetworkAccess = &publicNetworkAccessTemp
	} else {
		account.PublicNetworkAccess = nil
	}

	// RestoreParameters
	if source.RestoreParameters != nil {
		var restoreParameter RestoreParameters
		err := restoreParameter.AssignProperties_From_RestoreParameters(source.RestoreParameters)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_RestoreParameters() to populate field RestoreParameters")
		}
		account.RestoreParameters = &restoreParameter
	} else {
		account.RestoreParameters = nil
	}

	// Tags
	account.Tags = genruntime.CloneMapOfStringToString(source.Tags)

	// VirtualNetworkRules
	if source.VirtualNetworkRules != nil {
		virtualNetworkRuleList := make([]VirtualNetworkRule, len(source.VirtualNetworkRules))
		for virtualNetworkRuleIndex, virtualNetworkRuleItem := range source.VirtualNetworkRules {
			// Shadow the loop variable to avoid aliasing
			virtualNetworkRuleItem := virtualNetworkRuleItem
			var virtualNetworkRule VirtualNetworkRule
			err := virtualNetworkRule.AssignProperties_From_VirtualNetworkRule(&virtualNetworkRuleItem)
			if err != nil {
				return eris.Wrap(err, "calling AssignProperties_From_VirtualNetworkRule() to populate field VirtualNetworkRules")
			}
			virtualNetworkRuleList[virtualNetworkRuleIndex] = virtualNetworkRule
		}
		account.VirtualNetworkRules = virtualNetworkRuleList
	} else {
		account.VirtualNetworkRules = nil
	}

	// No error
	return nil
}