func()

in v2/api/storage/v1api20220901/storage/storage_account_types_gen.go [1090:1488]


func (account *StorageAccount_STATUS) AssignProperties_From_StorageAccount_STATUS(source *storage.StorageAccount_STATUS) error {
	// Clone the existing property bag
	propertyBag := genruntime.NewPropertyBag(source.PropertyBag)

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

	// AccountMigrationInProgress
	if source.AccountMigrationInProgress != nil {
		propertyBag.Add("AccountMigrationInProgress", *source.AccountMigrationInProgress)
	} else {
		propertyBag.Remove("AccountMigrationInProgress")
	}

	// AllowBlobPublicAccess
	if source.AllowBlobPublicAccess != nil {
		allowBlobPublicAccess := *source.AllowBlobPublicAccess
		account.AllowBlobPublicAccess = &allowBlobPublicAccess
	} else {
		account.AllowBlobPublicAccess = nil
	}

	// AllowCrossTenantReplication
	if source.AllowCrossTenantReplication != nil {
		allowCrossTenantReplication := *source.AllowCrossTenantReplication
		account.AllowCrossTenantReplication = &allowCrossTenantReplication
	} else {
		account.AllowCrossTenantReplication = nil
	}

	// AllowSharedKeyAccess
	if source.AllowSharedKeyAccess != nil {
		allowSharedKeyAccess := *source.AllowSharedKeyAccess
		account.AllowSharedKeyAccess = &allowSharedKeyAccess
	} else {
		account.AllowSharedKeyAccess = nil
	}

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

	// AzureFilesIdentityBasedAuthentication
	if source.AzureFilesIdentityBasedAuthentication != nil {
		var azureFilesIdentityBasedAuthentication AzureFilesIdentityBasedAuthentication_STATUS
		err := azureFilesIdentityBasedAuthentication.AssignProperties_From_AzureFilesIdentityBasedAuthentication_STATUS(source.AzureFilesIdentityBasedAuthentication)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_AzureFilesIdentityBasedAuthentication_STATUS() to populate field AzureFilesIdentityBasedAuthentication")
		}
		account.AzureFilesIdentityBasedAuthentication = &azureFilesIdentityBasedAuthentication
	} else {
		account.AzureFilesIdentityBasedAuthentication = nil
	}

	// BlobRestoreStatus
	if source.BlobRestoreStatus != nil {
		var blobRestoreStatus BlobRestoreStatus_STATUS
		err := blobRestoreStatus.AssignProperties_From_BlobRestoreStatus_STATUS(source.BlobRestoreStatus)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_BlobRestoreStatus_STATUS() to populate field BlobRestoreStatus")
		}
		account.BlobRestoreStatus = &blobRestoreStatus
	} else {
		account.BlobRestoreStatus = nil
	}

	// Conditions
	account.Conditions = genruntime.CloneSliceOfCondition(source.Conditions)

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

	// CustomDomain
	if source.CustomDomain != nil {
		var customDomain CustomDomain_STATUS
		err := customDomain.AssignProperties_From_CustomDomain_STATUS(source.CustomDomain)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_CustomDomain_STATUS() to populate field CustomDomain")
		}
		account.CustomDomain = &customDomain
	} else {
		account.CustomDomain = nil
	}

	// DefaultToOAuthAuthentication
	if source.DefaultToOAuthAuthentication != nil {
		defaultToOAuthAuthentication := *source.DefaultToOAuthAuthentication
		account.DefaultToOAuthAuthentication = &defaultToOAuthAuthentication
	} else {
		account.DefaultToOAuthAuthentication = nil
	}

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

	// Encryption
	if source.Encryption != nil {
		var encryption Encryption_STATUS
		err := encryption.AssignProperties_From_Encryption_STATUS(source.Encryption)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_Encryption_STATUS() to populate field Encryption")
		}
		account.Encryption = &encryption
	} else {
		account.Encryption = nil
	}

	// ExtendedLocation
	if source.ExtendedLocation != nil {
		var extendedLocation ExtendedLocation_STATUS
		err := extendedLocation.AssignProperties_From_ExtendedLocation_STATUS(source.ExtendedLocation)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_ExtendedLocation_STATUS() to populate field ExtendedLocation")
		}
		account.ExtendedLocation = &extendedLocation
	} else {
		account.ExtendedLocation = nil
	}

	// FailoverInProgress
	if source.FailoverInProgress != nil {
		failoverInProgress := *source.FailoverInProgress
		account.FailoverInProgress = &failoverInProgress
	} else {
		account.FailoverInProgress = nil
	}

	// GeoReplicationStats
	if source.GeoReplicationStats != nil {
		var geoReplicationStat GeoReplicationStats_STATUS
		err := geoReplicationStat.AssignProperties_From_GeoReplicationStats_STATUS(source.GeoReplicationStats)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_GeoReplicationStats_STATUS() to populate field GeoReplicationStats")
		}
		account.GeoReplicationStats = &geoReplicationStat
	} else {
		account.GeoReplicationStats = nil
	}

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

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

	// ImmutableStorageWithVersioning
	if source.ImmutableStorageWithVersioning != nil {
		var immutableStorageWithVersioning ImmutableStorageAccount_STATUS
		err := immutableStorageWithVersioning.AssignProperties_From_ImmutableStorageAccount_STATUS(source.ImmutableStorageWithVersioning)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_ImmutableStorageAccount_STATUS() to populate field ImmutableStorageWithVersioning")
		}
		account.ImmutableStorageWithVersioning = &immutableStorageWithVersioning
	} else {
		account.ImmutableStorageWithVersioning = nil
	}

	// IsHnsEnabled
	if source.IsHnsEnabled != nil {
		isHnsEnabled := *source.IsHnsEnabled
		account.IsHnsEnabled = &isHnsEnabled
	} else {
		account.IsHnsEnabled = nil
	}

	// IsLocalUserEnabled
	if source.IsLocalUserEnabled != nil {
		isLocalUserEnabled := *source.IsLocalUserEnabled
		account.IsLocalUserEnabled = &isLocalUserEnabled
	} else {
		account.IsLocalUserEnabled = nil
	}

	// IsNfsV3Enabled
	if source.IsNfsV3Enabled != nil {
		isNfsV3Enabled := *source.IsNfsV3Enabled
		account.IsNfsV3Enabled = &isNfsV3Enabled
	} else {
		account.IsNfsV3Enabled = nil
	}

	// IsSftpEnabled
	if source.IsSftpEnabled != nil {
		isSftpEnabled := *source.IsSftpEnabled
		account.IsSftpEnabled = &isSftpEnabled
	} else {
		account.IsSftpEnabled = nil
	}

	// IsSkuConversionBlocked
	if source.IsSkuConversionBlocked != nil {
		propertyBag.Add("IsSkuConversionBlocked", *source.IsSkuConversionBlocked)
	} else {
		propertyBag.Remove("IsSkuConversionBlocked")
	}

	// KeyCreationTime
	if source.KeyCreationTime != nil {
		var keyCreationTime KeyCreationTime_STATUS
		err := keyCreationTime.AssignProperties_From_KeyCreationTime_STATUS(source.KeyCreationTime)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_KeyCreationTime_STATUS() to populate field KeyCreationTime")
		}
		account.KeyCreationTime = &keyCreationTime
	} else {
		account.KeyCreationTime = nil
	}

	// KeyPolicy
	if source.KeyPolicy != nil {
		var keyPolicy KeyPolicy_STATUS
		err := keyPolicy.AssignProperties_From_KeyPolicy_STATUS(source.KeyPolicy)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_KeyPolicy_STATUS() to populate field KeyPolicy")
		}
		account.KeyPolicy = &keyPolicy
	} else {
		account.KeyPolicy = nil
	}

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

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

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

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

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

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

	// NetworkAcls
	if source.NetworkAcls != nil {
		var networkAcl NetworkRuleSet_STATUS
		err := networkAcl.AssignProperties_From_NetworkRuleSet_STATUS(source.NetworkAcls)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_NetworkRuleSet_STATUS() to populate field NetworkAcls")
		}
		account.NetworkAcls = &networkAcl
	} else {
		account.NetworkAcls = nil
	}

	// PrimaryEndpoints
	if source.PrimaryEndpoints != nil {
		var primaryEndpoint Endpoints_STATUS
		err := primaryEndpoint.AssignProperties_From_Endpoints_STATUS(source.PrimaryEndpoints)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_Endpoints_STATUS() to populate field PrimaryEndpoints")
		}
		account.PrimaryEndpoints = &primaryEndpoint
	} else {
		account.PrimaryEndpoints = nil
	}

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

	// PrivateEndpointConnections
	if source.PrivateEndpointConnections != nil {
		privateEndpointConnectionList := make([]PrivateEndpointConnection_STATUS, len(source.PrivateEndpointConnections))
		for privateEndpointConnectionIndex, privateEndpointConnectionItem := range source.PrivateEndpointConnections {
			// Shadow the loop variable to avoid aliasing
			privateEndpointConnectionItem := privateEndpointConnectionItem
			var privateEndpointConnection PrivateEndpointConnection_STATUS
			err := privateEndpointConnection.AssignProperties_From_PrivateEndpointConnection_STATUS(&privateEndpointConnectionItem)
			if err != nil {
				return eris.Wrap(err, "calling AssignProperties_From_PrivateEndpointConnection_STATUS() to populate field PrivateEndpointConnections")
			}
			privateEndpointConnectionList[privateEndpointConnectionIndex] = privateEndpointConnection
		}
		account.PrivateEndpointConnections = privateEndpointConnectionList
	} else {
		account.PrivateEndpointConnections = nil
	}

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

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

	// RoutingPreference
	if source.RoutingPreference != nil {
		var routingPreference RoutingPreference_STATUS
		err := routingPreference.AssignProperties_From_RoutingPreference_STATUS(source.RoutingPreference)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_RoutingPreference_STATUS() to populate field RoutingPreference")
		}
		account.RoutingPreference = &routingPreference
	} else {
		account.RoutingPreference = nil
	}

	// SasPolicy
	if source.SasPolicy != nil {
		var sasPolicy SasPolicy_STATUS
		err := sasPolicy.AssignProperties_From_SasPolicy_STATUS(source.SasPolicy)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_SasPolicy_STATUS() to populate field SasPolicy")
		}
		account.SasPolicy = &sasPolicy
	} else {
		account.SasPolicy = nil
	}

	// SecondaryEndpoints
	if source.SecondaryEndpoints != nil {
		var secondaryEndpoint Endpoints_STATUS
		err := secondaryEndpoint.AssignProperties_From_Endpoints_STATUS(source.SecondaryEndpoints)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_Endpoints_STATUS() to populate field SecondaryEndpoints")
		}
		account.SecondaryEndpoints = &secondaryEndpoint
	} else {
		account.SecondaryEndpoints = nil
	}

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

	// Sku
	if source.Sku != nil {
		var sku Sku_STATUS
		err := sku.AssignProperties_From_Sku_STATUS(source.Sku)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_Sku_STATUS() to populate field Sku")
		}
		account.Sku = &sku
	} else {
		account.Sku = nil
	}

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

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

	// StorageAccountSkuConversionStatus
	if source.StorageAccountSkuConversionStatus != nil {
		var storageAccountSkuConversionStatus StorageAccountSkuConversionStatus_STATUS
		err := storageAccountSkuConversionStatus.AssignProperties_From_StorageAccountSkuConversionStatus_STATUS(source.StorageAccountSkuConversionStatus)
		if err != nil {
			return eris.Wrap(err, "calling AssignProperties_From_StorageAccountSkuConversionStatus_STATUS() to populate field StorageAccountSkuConversionStatus")
		}
		account.StorageAccountSkuConversionStatus = &storageAccountSkuConversionStatus
	} else {
		account.StorageAccountSkuConversionStatus = nil
	}

	// SupportsHttpsTrafficOnly
	if source.SupportsHttpsTrafficOnly != nil {
		supportsHttpsTrafficOnly := *source.SupportsHttpsTrafficOnly
		account.SupportsHttpsTrafficOnly = &supportsHttpsTrafficOnly
	} else {
		account.SupportsHttpsTrafficOnly = nil
	}

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

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

	// Update the property bag
	if len(propertyBag) > 0 {
		account.PropertyBag = propertyBag
	} else {
		account.PropertyBag = nil
	}

	// Invoke the augmentConversionForStorageAccount_STATUS interface (if implemented) to customize the conversion
	var accountAsAny any = account
	if augmentedAccount, ok := accountAsAny.(augmentConversionForStorageAccount_STATUS); ok {
		err := augmentedAccount.AssignPropertiesFrom(source)
		if err != nil {
			return eris.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion")
		}
	}

	// No error
	return nil
}